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ù)說(shuō)明如下:

REFERENCES

指定要建立關(guān)聯(lián)的表的信息。

ref_table

指定要建立關(guān)聯(lián)的表的名稱。

ref_column

指定要建立關(guān)聯(lián)的表中的相關(guān)列的名稱。

以下是代碼片段:
ON DELETE {CASCADE | NO ACTION}

指定在刪除表中數(shù)據(jù)時(shí),對(duì)關(guān)聯(lián)表所做的相關(guān)操作。在子表中有數(shù)據(jù)行與父表中的對(duì)應(yīng)數(shù)據(jù)行相關(guān)聯(lián)的情況下,如果指定了值CASCADE,則在刪除父表數(shù)據(jù)行時(shí)會(huì)將子表中對(duì)應(yīng)的數(shù)據(jù)行刪除;如果指定的是NO ACTION,則SQL Server 會(huì)產(chǎn)生一個(gè)錯(cuò)誤,并將父表中的刪除操作回滾。NO ACTION 是缺省值。

以下是代碼片段:
ON UPDATE {CASCADE | NO ACTION}

指定在更新表中數(shù)據(jù)時(shí),對(duì)關(guān)聯(lián)表所做的相關(guān)操作。在子表中有數(shù)據(jù)行與父表中的對(duì)應(yīng)數(shù)據(jù)行相關(guān)聯(lián)的情況下,如果指定了值CASCADE,則在更新父表數(shù)據(jù)行時(shí)會(huì)將子表中對(duì)應(yīng)的數(shù)據(jù)行更新;如果指定的是NO ACTION,則SQL Server 會(huì)產(chǎn)生一個(gè)錯(cuò)誤,并將父表中的更新操作回滾。NO ACTION 是缺省值。

以下是代碼片段:
NOT FOR REPLICATION

指定列的外關(guān)鍵字約束在把從其它表中復(fù)制的數(shù)據(jù)插入到表中時(shí)不發(fā)生作用。

分享到

wangyao

相關(guān)推薦