Oracle非空约束

前端之家收集整理的这篇文章主要介绍了Oracle非空约束前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一 约束的作用

1、定义规则
2、确保完整性
二 非空约束
1、在创建表时设置非空约束
CREATE TABLE table_name(
column_name datatype NOT NULL,...
);
  1. sql> create table userinf_1
  2. 2(id number(6,0),
  3. 3 username varchar2(20)notnull,
  4. 4 userpwd varchar2(20)notnull);
  5. 表已创建。
  6. sql> desc userinf_1
  7. 名称是否为空?类型
  8. -----------------------------------------------------------------------------
  9. ID NUMBER(6)
  10. USERNAME NOT NULL VARCHAR2(20)
  11. USERPWD NOT NULL VARCHAR2(20)
  12. sql> insert into userinf_1(id) values(1);
  13. insert into userinf_1(id) values(1)
  14. *
  15. 1行出现错误:
  16. ORA-01400:无法将 NULL 插入("SYSTEM"."USERINF_1"."USERNAME")
2、在修改表时添加非空约束
ALTER TABLE table_name
MODIFY column_name datatype NOT NULL;
sql> alter table userinfo
  • 2 modify username varchar2(20)notnull;
  • alter table userinfo
  • *
  • 1行出现错误:
  • ORA-02296:无法启用(SYSTEM.)-找到空值
  • sql>deletefrom userinfo;
  • 删除3行。
  • sql> alter table userinfo
  • 2 modify username varchar2(20)notnull;
  • 表已更改。
  • sql> desc userinfo
  • 名称是否为空?类型
  • -----------------------------------------------------------------------------
  • ID NUMBER(6)
  • USERNAME NOT NULL VARCHAR2(20)
  • USERPWD VARCHAR2(20)
  • EMAIL VARCHAR2(30)
  • REGDATE DATE
  • 3、在修改表时去除非空约束
    ALTER TABLE table_name
    MODIFY column_name datatype NULL;
    2 modify username varchar2(20)null;
  • 表已更改。
  • sql> desc userinfo
  • 名称是否为空?类型
  • -----------------------------------------------------------------------------
  • ID NUMBER(6)
  • USERNAME VARCHAR2(20)
  • USERPWD VARCHAR2(20)
  • EMAIL VARCHAR2(30)
  • REGDATE DATE
  • 猜你在找的Oracle相关文章