新聞中心
正式的數(shù)據(jù)庫(kù)開發(fā)又要開始了,尤其是開發(fā)使用Microsoft SQL server的應(yīng)用,在處理外鍵一般會(huì)在我們面前蹦出一道小難題:什么時(shí)候能用,什么時(shí)候不能用。雖然背后的概念簡(jiǎn)單,但是應(yīng)用到具體代碼中,讓我們可能會(huì)陷入抵觸。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了清豐免費(fèi)建站歡迎大家使用!
SQL Server能提供一種方法,可以讓它幫你解決有關(guān)外鍵問(wèn)題。下面就介紹使用SQL Server處理外鍵的詳細(xì)方法:
首先,為了更好地管理我們的外鍵約束,我們?cè)谑紫冗\(yùn)行以下代碼:
use master
go
sp_dboption 'database_name','allow updated','FALSE'
其次,在創(chuàng)建或者修改表的時(shí)候,可以添加外鍵約束,比如建立一張學(xué)生信息表,用以下語(yǔ)句可以加入外鍵約束:
ALTER TABLE `Students`
ADD CONSTRAINT `foreign key` FOREIGN KEY (`class_id`) REFERENCES `Classes` (`class_id`);
最后,可以使用更新語(yǔ)句來(lái)滿足更多復(fù)雜的外鍵:
UPDATE TABLE `Students`
SET `class_id` = (SELECT class_number FROM `Classes` WHERE `Classes`.`class_name` = `Students`.`class_name`)
WHERE *
上面的示例可以根據(jù)班級(jí)名稱來(lái)自動(dòng)設(shè)置班級(jí)號(hào)。另外,也可以使用`ON UPDATE` 和 `ON DELETE`參數(shù)設(shè)置更多外鍵的選項(xiàng)。
以上,就是讓SQL Server為你改變外鍵的方法,當(dāng)然,這還只是SQL Server處理外鍵的一部分,在進(jìn)行數(shù)據(jù)庫(kù)開發(fā)的時(shí)候,可以根據(jù)具體的情況進(jìn)行更細(xì)致的處理。
另外,有時(shí)候,我們也可以不使用外鍵,而是使用類似函數(shù)和視圖的手段讓服務(wù)器自動(dòng)進(jìn)行轉(zhuǎn)義,這可以更加安全而有效的解決我們的問(wèn)題。
成都網(wǎng)站營(yíng)銷推廣找創(chuàng)新互聯(lián),全國(guó)分站站群網(wǎng)站搭建更好做SEO營(yíng)銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價(jià)格厚道。提供成都服務(wù)器托管租用、綿陽(yáng)服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽(yáng)服務(wù)器機(jī)房服務(wù)器托管租用。
網(wǎng)頁(yè)題目:讓SQL Server為你改變外鍵問(wèn)題(sqlserver改外鍵)
本文路徑:http://www.dlmjj.cn/article/dhchogj.html


咨詢
建站咨詢
