sql server外鍵的刪除及更新規(guī)則
sql server外鍵的相關(guān)規(guī)則是我們在學(xué)習(xí)SQL數(shù)據(jù)庫中都需要知道和掌握的,下面就將為您詳細介紹sql server外鍵的各類規(guī)則,供您參考。
sql server外鍵取值規(guī)則:空值或參照的主鍵值。
(1)插入非空值時,如果主鍵表中沒有這個值,則不能插入。
(2)更新時,不能改為主鍵表中沒有的值。
(3)刪除主鍵表記錄時,你可以在建外鍵時選定外鍵記錄一起級聯(lián)刪除還是拒絕刪除。
(4)更新主鍵記錄時,同樣有級聯(lián)更新和拒絕執(zhí)行的選擇。
//備注 :
on delete cascade on update cascade(級聯(lián)更新和刪除)
create table reply
{
word_id int foreign key references guest(word_id) on delete cascade on update cascade
}
表 ,右建=== 修改表,右鍵 ===關(guān)系 ,打開外鍵關(guān)系
INSERT 和 UPDATE 規(guī)范類別
展開以顯示有關(guān)該關(guān)系的“sql server外鍵刪除規(guī)則”和“sql server外鍵更新規(guī)則”的信息。
sql server外鍵刪除規(guī)則
指定當(dāng)數(shù)據(jù)庫的最終用戶嘗試刪除某一行,而該行包含外鍵關(guān)系所涉及的數(shù)據(jù)時所發(fā)生的情況。如果設(shè)置為:
無操作 顯示一條錯誤信息,告知用戶不允許執(zhí)行該刪除操作,DELETE 將被回滾。
級聯(lián) 刪除包含外鍵關(guān)系中所涉及的數(shù)據(jù)的所有行。
設(shè)置空 如果表的所有外鍵列都可接受空值,則將該值設(shè)置為空。僅適用于 SQL Server 2005。
設(shè)置默認值 如果表的所有外鍵列均已定義默認值,則將該值設(shè)置為列定義的默認值。僅適用于 SQL Server 2005。
sql server外鍵更新規(guī)則
指定當(dāng)數(shù)據(jù)庫的用戶嘗試更新某一行,而該行包含外鍵關(guān)系所涉及的數(shù)據(jù)時所發(fā)生的情況。如果設(shè)置為:
無操作 顯示一條錯誤信息,告知用戶不允許執(zhí)行該刪除操作,DELETE 將被回滾。
級聯(lián) 刪除包含外鍵關(guān)系中所涉及的數(shù)據(jù)的所有行。
設(shè)置空 如果表的所有外鍵列都可接受空值,則將該值設(shè)置為空。僅適用于 SQL Server 2005。
設(shè)置默認值 如果表的所有外鍵列均已定義默認值,則將該值設(shè)置為列定義的默認值。僅適用于 SQL Server 2005。
【編輯推薦】