本文只是關於Oracle約束的添加方法總結的描述,在這裡,我們把Oracle約束總結分成為6種,如果你對6種不同類型Oracle約束,感興趣的話,你就可以浏覽以下的文章,對其有個更好的了解。
lNOT NULL約束
DEFAULT約束 (DEFAULT在Oracle中好象沒有被作為約束處理,因為創建後從USER_CONSTRAINTS中查不到,有誰知道怎麼查,還望不吝賜教)
lPRIMARY KEY約束
llCHECK約束
lUNIQUE約束
lFOREIGN KEY約束
l1: NOT NULL約束和DEFAULT約束只能被創建為列級約束
l2: 其他4種則既可以被創建為列級約束,也可以被創建為表級約束
l3: 當一個約束涉及到多列時,只能被創建成表級Oracle約束
l4: 可以為其他4種約束起名,而不能給NOT NULL和DEFAULT約束起名
列級約束的添加方式:
創建表時在列後面直接定義;(1)
修改表時以修改列的方式實現;(2)
可以作為表級約束的4種約束,作為列級約束時有兩種添加方式,與上面相同,區別是可以起名;
作為表級約束時有兩種添加方式:
創建表時添加表級約束;(3)
修改表時添加表級約束;(4)
下面以主鍵為例具體說明:
- Create table t1(tid number primary key);
或者加Oracle約束名字:
- create table t1(tid number constraint pk_tid primary key);
- Create table t2(tid number);
- alter table t2 modify tid primary key;
或者:
- alter table t2 modify tid number primary key;
- create table t3(tid number,primary key(tid));
或者加約束名字:
- create table t3
(tid number,constraint pk_t3id primary key(tid));- create table t4(tid number);
- alter table t4 add primary key(tid);
或者加Oracle約束名字:
- alter table t4 add constraint pk_t4id primary key(tid);