ORACLE外來鍵約束 FORIGEN KEY

2022-03-12 15:17:55 字數 1112 閱讀 8733

oracle外來鍵約束

外來鍵約束的定義是,讓另一張表的記錄來約束自己。這裡的另一張表就是主表。

當主表的記錄刪除時,我們可以跟隨主表刪除記錄(on delete cascade)、或者相應字段設定為空(on delete set null)、或者不允許刪除(預設)。

a) 注意一:當主表被級聯刪除(dorp tabel wen cascade constraints)時,從表建立的與主表關聯的外來鍵約束將被刪除,從表資料不會發生變化。

假設從表為另乙個表外來鍵約束對應的主表,該外來鍵約束關係不會受到影響。

b) 注意二:從表外來鍵約束指向的主表字段,必須是唯一性約束或主鍵約束的字段。

因為,當外來鍵約束指向的主表記錄有重複項時,刪除其中之一時,從表伴隨操作不明朗。

建立表時建立外來鍵語法:

primary[ˈpraɪməri] 主要的、關鍵

foreign[ˈfɒrən] 外來鍵

references[ˈrefrəns]

constraint [kənˈstreɪnt]:約束、限制、強制

create table wen

(my char(10) not null,

love char(8) not null,

primary key (my),

constraint wen_fk foreign key (my,love)

references guoguo(my,love) on delete cascade --當主表記錄刪除時,從表記錄伴隨刪除

)on delete set null;

當主表記錄刪除時,設定從表資料為null,注意,從表字段必須允許為null

不寫on語句時,預設不允許刪除主表記錄。

修改表時追加外來鍵:

alter table wen

add constraint wen_fk foreign key(my,love) references guoguo(my,love) on delete cascade

alter table guoguo add constraint guoguo_fk foreign key(my,love) references

wen(my,love) on delete set null

oracle外來鍵約束

新建父表 sql create table teacher 2 3 id number primary key,4 name varchar2 10 5 table created.新建子表 sql 1 create table student 2 3 id number primary key,4...

Oracle 外來鍵約束

新增主鍵約束 alter table ga airline add constraint pk airline id primary key airline id 有三種形式的外來鍵約束 1 普通外來鍵約束 如果存在子表引用父表主鍵,則無法刪除父表記錄 alter table t invoice d...

Oracle 外來鍵約束

下面的語句建立department 20表,並定義和啟用department id列上的外來鍵,該外來鍵引用departments表的department id列上的主鍵 create table dept 20 employee id number 4 last name varchar2 10 ...