Sql Server级联操作
生活随笔
收集整理的這篇文章主要介紹了
Sql Server级联操作
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問題提出:現(xiàn)在我有三張表,學(xué)生Student,課程Course,成績SC
1. 學(xué)生表Student,主鍵是學(xué)號Sno
2. 課程Course,主碼是課程號Cno
3. 成績SC,主碼是Sno和Cno,Sno外鍵約束是Student的Sno,Cno的外鍵約束是Cno
現(xiàn)在我需要對Student或者Course進(jìn)行修改或刪除,希望在SC表中能保持修改或刪除同步,這就需要到級聯(lián)操作!
方法一、SQL Server 2008 中手動設(shè)置“級聯(lián)”
這個方法建議在建表時不要加入任何設(shè)置外鍵的代碼,如果主碼是兩者或以上的就不適合使用
1. 打開“數(shù)據(jù)庫關(guān)系圖”,若未創(chuàng)建,則創(chuàng)建
2. 選中SC表,右擊選中“關(guān)系”,展開“INSERT和UPDATE規(guī)范”中選擇級聯(lián)
3. Student表 和 Course 表也要同樣的設(shè)置
方法二、建表時使用級聯(lián)代碼添加
1 IF EXISTS (SELECT * FROM dbo.sysobjects WHERE ID = OBJECT_ID(N'SC') 2 AND OBJECTPROPERTY(ID, 'IsUserTable') = 1) 3 DROP TABLE SC 4 Go 5 CREATE TABLE SC 6 ( Sno CHAR(10), 7 Cno CHAR(10), 8 Grade SMALLINT CHECK (Grade >= 0 AND Grade <= 100) NOT NULL, 9 10 PRIMARY KEY (Sno, Cno), 11 FOREIGN KEY (Sno) REFERENCES Student (Sno) 12 ON UPDATE CASCADE 13 ON DELETE CASCADE, 14 FOREIGN KEY (Cno) REFERENCES Course (Cno) 15 ON UPDATE CASCADE 16 ON DELETE CASCADE 17 );
總結(jié)
以上是生活随笔為你收集整理的Sql Server级联操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kafka彻底删除topic(clean
- 下一篇: Flink-java读取Kafka(转载