Oracle約束條件,關聯查詢

NOT NULL約束條件

UNIQUE約束條件:
保證此字段相同值不能錄入。
create table table_name
(
字段名 類型 ,
constraint 約束名 unique(字段名)
)
ALTER TABLE table_name
add constraint
constraint_name UNIQUE(字段列表);

CHECK約束條件:檢查指定字段符合條件,纔可以輸入
create table table名(
字段名 字段類型 check(字段名 條件式)
)
Alter table table_name
ADD constraint constraint_name check(字段名 條件式);

drop table student;

create table student
(
sno char(5) not null;
sname varchar2(20) not null,
sage number(2) null,
sclass char(5),
constraint sno_u unique(sno),--學號唯一
constraint sage_ck check(sage>20)--年齡大於20
);

insert into student values('10001','Tom',22,'97001');
insert into student values('10001','Lili',20,'97002');--插入失敗,學號相同
insert into student values('10002','Jerry',19,'97002');--插入失敗,年齡不符

簡便寫法:
create table student
(
sno char(5) not null unique;
sname varchar2(20) not null,
sage number(2) null check (sage>20),
sclass char(5),
)

啓用和禁止已有的約束條件:

禁止:
alter table table_name
disable constraint constraint_name;
啓用:
alter table table_name
enable constraint constraint_name ;

更改控制約束:
alter table table_name modify(字段名 null);
alter table table_name modify(字段名 not null);

刪除約束:
alter table table_name
drop constraint constraint_name;
 


約束條件的使用範圍

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章