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;
  1. SQL> alter table userinfo
  2. 2 modify username varchar2(20)notnull;
  3. alter table userinfo
  4. *
  5. 1行出现错误:
  6. ORA-02296:无法启用(SYSTEM.)-找到空值
  7. SQL>deletefrom userinfo;
  8. 已删除3行。
  9. SQL> alter table userinfo
  10. 2 modify username varchar2(20)notnull;
  11. 表已更改。
  12. SQL> desc userinfo
  13. 名称是否为空?类型
  14. -----------------------------------------------------------------------------
  15. ID NUMBER(6)
  16. USERNAME NOT NULL VARCHAR2(20)
  17. USERPWD VARCHAR2(20)
  18. EMAIL VARCHAR2(30)
  19. REGDATE DATE
3、在修改表时去除非空约束
ALTER TABLE table_name
MODIFY column_name datatype  NULL;
  1. SQL> alter table userinfo
  2. 2 modify username varchar2(20)null;
  3. 表已更改。
  4. SQL> desc userinfo
  5. 名称是否为空?类型
  6. -----------------------------------------------------------------------------
  7. ID NUMBER(6)
  8. USERNAME VARCHAR2(20)
  9. USERPWD VARCHAR2(20)
  10. EMAIL VARCHAR2(30)
  11. REGDATE DATE
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值