Oracle数据库设计——定义约束 Not NULL约束 Default values

Not Null约束
not null约束常常被归于“强制”约束。

CREATE TABLE temp(id NUMBER(1) NOT NULL);

CREATE TABLE temp(id NUMBER(1) CONSTRAINT nn_temp_id NOT NULL);

为什么我们为Primary key, unique, foreign key, 和chech约束命名,有一个重要原因是:
    Oracle约束冲突错误信息包含了约束名,这是一个非常有用的的信息,让我们可以在没有查看数据字典和引起错误的研究代码前迅速的定位分离出问题.
而not null冲突错误信息中没有约束名,因为它包含了字段名
CREATE TABLE temp
 (N1 NUMBER constraint nn_1 NOT NULL,
  N2 NUMBER constraint nn_2 NOT NULL,
  N3 NUMBER constraint nn_3 NOT NULL);

INSERT INTO temp VALUES (1, null, 1);
将会产生:
ORA-01400: cannot insert NULL into ("SCOTT"."TEMP"."N2")

Default Values(默认值)

看一下下面一个例子:
CREATE TABLE TEMP (id NUMBER, value NUMBER);
INSERT INTO temp             VALUES (1, 100);
INSERT INTO temp (id, value) VALUES (1, 100);
INSERT INTO temp (id)        VALUES (2);

前两行Insert语句是一样的,第三条在Value字段中插入了一个NULL值


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部