oracle字段加了default默认值,还需要not null约束吗?

oracle字段加了default默认值,还需要not null约束吗?,第1张

默认值仅仅是你在初次进行insert的时候,如果不提供值,则使用默认值。\x0d\x0a如果后续你进行update,将这个值改为null,则也是可以的,此时,并不会使用默认值。\x0d\x0a由此可见default并不会取代not null约束。\x0d\x0a如果是insert的话,default可以覆盖not null约束\x0d\x0a如果update,则default不一定能覆盖not null约束

oracle 数据库中的default的用法是:在创建数据库表时,可以指定一个 DEFAULT 值(即默认值)。对数据库字段使用默认值有助于将数据库设计问题与应用程序代码隔离。

可以在以后某个时候通过一条 ALTER TABLE 命令改变一个字段的默认值,改变之后应用程序代码会立即开始使用新值。即 DEFAULT 值只有当一个字段没有在 INSERT 或 MERGE 中指定值,或者使用了 DEFAULT 关键字时才会使用。如果你不显式地声明一个 DEFULAT 值,Oracle 将隐式地将默认值定义为 NULL,而且 DEFAULT 关键字也是这样。从 Oracle 9i开始,可以在 DEFAULT 子句中使用诸如 SYSDATE 或 CURRENT_TIMESTAMPE 之类的伪字段。例如:

create table t1

(

    id$ integer not null,

    charcol char default 'Y',

    datecol date default sysdate,

    strcol varchar2(30) default user,

    intcol integer default 12

)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11252659.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存