CONSTRAINT constraint_name
FOREIGN KEY (column_name1[, column_name2,…,column_name16])
REFERENCES ref_table [ (ref_column1[,ref_column2,…, ref_column16] )]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ] ]
[ NOT FOR REPLICATION ]
各參數(shù)說明如下:
REFERENCES
指定要建立關聯(lián)的表的信息。
ref_table
指定要建立關聯(lián)的表的名稱。
ref_column
指定要建立關聯(lián)的表中的相關列的名稱。
以下是代碼片段: ON DELETE {CASCADE | NO ACTION} |
指定在刪除表中數(shù)據(jù)時,對關聯(lián)表所做的相關操作。在子表中有數(shù)據(jù)行與父表中的對應數(shù)據(jù)行相關聯(lián)的情況下,如果指定了值CASCADE,則在刪除父表數(shù)據(jù)行時會將子表中對應的數(shù)據(jù)行刪除;如果指定的是NO ACTION,則SQL Server 會產(chǎn)生一個錯誤,并將父表中的刪除操作回滾。NO ACTION 是缺省值。
以下是代碼片段: ON UPDATE {CASCADE | NO ACTION} |
指定在更新表中數(shù)據(jù)時,對關聯(lián)表所做的相關操作。在子表中有數(shù)據(jù)行與父表中的對應數(shù)據(jù)行相關聯(lián)的情況下,如果指定了值CASCADE,則在更新父表數(shù)據(jù)行時會將子表中對應的數(shù)據(jù)行更新;如果指定的是NO ACTION,則SQL Server 會產(chǎn)生一個錯誤,并將父表中的更新操作回滾。NO ACTION 是缺省值。
以下是代碼片段: NOT FOR REPLICATION |
指定列的外關鍵字約束在把從其它表中復制的數(shù)據(jù)插入到表中時不發(fā)生作用。