oracle-------約束
阿新 • • 發佈:2019-01-01
非空約束:不能為空,設定為:
not null
唯一約束:列不能有重複的內容:
CONSTRAINT uk_列名 UNIQUE (列名)
主鍵約束:既不能重複,也不能為空:
CONSTRAINT pk_列名 PRIMARY KEY (列名)
當設定了複合主鍵之後,只有兩個欄位的內容都相同的時候才表示重複,才表示違反了約束。
主鍵約束=非空約束+唯一約束。
主外來鍵約束:
CONSTRAINT fk_列名 FOREIGN KEY(列名) REFERENCES 父表(列名)
刪除表操作問題:
1,如果要刪除父表的資料,首先要刪除對應的所有子表資料。
級聯操作一:級聯刪除,on delete casecade,當主表資料刪除之後,子表的資料也應該被及時清理。
先清除之前建立的表格,子-主,然後重新建立表格,主外來鍵語句後面需要加入:
CONSTRAINT fk_列名 FOREIGN KEY(列名) REFERENCES 父表(列名) on delete casecade
級聯操作二:級聯更新,on delete set null
當主表資料被刪除後,對應子表資料的相應欄位的內容設定為null。
級聯操作看需求來進行選擇操作。
2,刪除父表之前,先刪除子表。
混亂情況可以強制性刪除:
drop table 表名 casecade constraint;
強制刪除不建議使用,注意建立表的時候,腳步的執行順序。