新聞中心
SQL Server外關(guān)鍵字約束的重要性不言而喻,下面就讓我們一起來了解一下應(yīng)該如何定義SQL Server外關(guān)鍵字約束。

成都創(chuàng)新互聯(lián)擁有十余年的建站服務(wù)經(jīng)驗,在此期間,我們發(fā)現(xiàn)較多的客戶在挑選建站服務(wù)商前都非常的猶豫。主要問題集中:在無法預(yù)知自己的網(wǎng)站呈現(xiàn)的效果是什么樣的?也無法判斷選擇的服務(wù)商設(shè)計出來的網(wǎng)頁效果自己是否會滿意?成都創(chuàng)新互聯(lián)業(yè)務(wù)涵蓋了互聯(lián)網(wǎng)平臺網(wǎng)站建設(shè)、移動平臺網(wǎng)站制作、網(wǎng)絡(luò)推廣、按需定制開發(fā)等服務(wù)。成都創(chuàng)新互聯(lián)網(wǎng)站開發(fā)公司本著不拘一格的網(wǎng)站視覺設(shè)計和網(wǎng)站開發(fā)技術(shù)相結(jié)合,為企業(yè)做網(wǎng)站提供成熟的網(wǎng)站設(shè)計方案。
SQL Server外關(guān)鍵字約束定義了表之間的關(guān)系。當一個表中的一個列或多個列的組合和其它表中的主關(guān)鍵字定義相同時,就可以將這些列或列的組合定義為外關(guān)鍵字,并設(shè)定它適合哪個表中哪些列相關(guān)聯(lián)。這樣,當在定義SQL Server主關(guān)鍵字約束的表中更新列值,時其它表中有與之相關(guān)聯(lián)的外關(guān)鍵字約束的表中的外關(guān)鍵字列也將被相應(yīng)地做相同的更新。外關(guān)鍵字約束的作用還體現(xiàn)在,當向含有外關(guān)鍵字的表插入數(shù)據(jù)時,如果與之相關(guān)聯(lián)的表的列中無與插入的外關(guān)鍵字列值相同的值時,系統(tǒng)會拒絕插入數(shù)據(jù)。與主關(guān)鍵字相同,不能使用一個定義為TEXT 或IMAGE 數(shù)據(jù)類型的列創(chuàng)建外關(guān)鍵字。外關(guān)鍵字最多由16 個列組成。
定義外關(guān)鍵字約束的語法如下:
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
指定要建立關(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ù)時,對關(guān)聯(lián)表所做的相關(guān)操作。在子表中有數(shù)據(jù)行與父表中的對應(yīng)數(shù)據(jù)行相關(guān)聯(lián)的情況下,如果指定了值CASCADE,則在刪除父表數(shù)據(jù)行時會將子表中對應(yīng)的數(shù)據(jù)行刪除;如果指定的是NO ACTION,則SQL Server 會產(chǎn)生一個錯誤,并將父表中的刪除操作回滾。NO ACTION 是缺省值。
ON UPDATE {CASCADE | NO ACTION}
指定在更新表中數(shù)據(jù)時,對關(guān)聯(lián)表所做的相關(guān)操作。在子表中有數(shù)據(jù)行與父表中的對應(yīng)數(shù)據(jù)行相關(guān)聯(lián)的情況下,如果指定了值CASCADE,則在更新父表數(shù)據(jù)行時會將子表中對應(yīng)的數(shù)據(jù)行更新;如果指定的是NO ACTION,則SQL Server 會產(chǎn)生一個錯誤,并將父表中的更新操作回滾。NO ACTION 是缺省值。
NOT FOR REPLICATION
指定列的外關(guān)鍵字約束在把從其它表中復(fù)制的數(shù)據(jù)插入到表中時不發(fā)生作用。
【編輯推薦】
SQL Server視圖的使用
SQL SERVER內(nèi)部函數(shù)大全
SQL Server變量賦值的方法
Java調(diào)用Sql Server存儲過程
sql server中動態(tài)sql語句的應(yīng)用
文章題目:SQL Server外關(guān)鍵字約束的定義
分享路徑:http://fisionsoft.com.cn/article/djcjehd.html


咨詢
建站咨詢
