微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle创建约束

一、约束类型

  • 非空约束:该列不允许包含空值。
  • 主键约束:唯一性,非空性。
  • 唯一约束:唯一性,可以空,但只能一个
  • 外键约束:需要建立两表间的关系并引用主表的列。
  • 检查约束:对该列数据的范围、格式的限定。

二、创建表时定义约束

create table table_name(id number,name char(6) constraint table_nn not null );
    constraint table_nn 自定义约束名,省略则由系统生成
    [not null]	非空约束
    [unique]	唯一性约束
    [primary key]	主键约束
    [check (salary>1000)]	检查约束
    [,primary key(id,name)]	联合主键(末尾添加)
    [,foreign key(id) references table_name1(id)]	外键约束(末尾添加)

三、定义已存在表约束

alter table emp1 modify(id constraint table_nn not null);
    constraint table_nn 自定义约束名,省略则由系统生成
    [not null]	非空约束
    [unique]	唯一性约束
    [primary key]	主键约束
    
alter table table_name add constraint table_pk primary key(id,name);
    constraint table_pk 自定义约束名,省略则由系统生成
    [check (id>3)	检查约束
    [primary key(id,name)]	联合主键
    [foreign key(id) references table_name1(id))	外键约束

四、启用和停止约束

禁用约束:
alter table table_name disable constraint constraint_name;
 
启用约束:
alter table table_name endable constraint constraint_name;
 
级联禁用(同时禁用以它为外链接的字段约束):
alter table table_name disable constraint constraint_name cascade;

constraint_name 约束名称

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐