增加、删除表的约束
alter table student add constraint pk_sno primary key(sno);
alter table student drop constraint pk_sno(cascade)
;
与约束相关的数据字典视图
select * from all_constraints; --当前用户可访问的所有约束定义信息
select * from user_constraints; --当前用户拥有的所有约束定义信息
select * from dba_constraints; --当前数据库中所有约束定义信息
select * from all_cons_columns; --当前用户可访问的所有约束
列
定义信息
select * from user_cons_columns; --当前用户拥有的所有约束列
定义信息
select * from dba_cons_columns; --当前数据库可访问的所有约束列
定义信息
- 名字包括dba的,要在admin下进行,不然报错:
table or view does not exist
参照完整性
-
违约策略(delete,update时)
- on delete no action;
- on delete cascade;
- on delete set null ;
默认是no actioin(Oracle11g中,违约策略没有update操作选项,只有delete)
用户定义完整性
- 列值非空(not null),列值唯一(unique),check约束
create table teacher(
tno char(9) unique not null,
tname char(4) not null,
tdept char(10) check (tdept in (‘CS’,‘MA’,‘IS’)
);