成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server 外鍵的更新的實際操作規(guī)則

數(shù)據(jù)庫 SQL Server
本文主要描述的是SQL Server 外鍵的更新(刪除)的實際操作規(guī)則,以下就是文章的具體內(nèi)容的描述,望你會有所收獲。

此文主要向大家講述的是SQL Server 外鍵的更新(刪除)的實際操作規(guī)則,以前用數(shù)據(jù)庫德 時候一般都建表關(guān)系,但是把這些關(guān)系建好了之后往往都用不上,這次寫一個項目,涉及到多表的SQL Server 外鍵約束和級聯(lián)刪除的問題,才研究了一下.

用的vs2005里面自帶的SqlExpress,在VS里面作數(shù)據(jù)庫,感覺不是很方便(廢話,都方便了,那sqlserver2005 dev 賣給誰去!)

我建了表,然后建了關(guān)系,設(shè)定了外鍵約束.

然后就以為萬事大吉了,去寫代碼,畫界面去了.

把代碼和界面搞定后,一試驗刪除,刪除的級聯(lián)鏈中間的一個表的數(shù)據(jù),然后就報錯.

Title

DELETE 語句與 REFERENCE 約束"FK_課程擴展信息表_教師表"沖突。該沖突發(fā)生于數(shù)據(jù)庫"x:\xxx.MDF",表"dbo.課程擴展信息表", column '教師編號'。

 

語句已終止。

 

 

然后研究了下SQL Server 外鍵約束.到底是怎么回事.網(wǎng)上搜到一篇定義:

 

 

Title

 

FOREIGN KEY 約束

 

如果在 FOREIGN KEY 約束的列中輸入非 NULL 值,則此值必須在被引用的列中存在,否則將返回違反外鍵約束的錯誤信息。

 

FOREIGN KEY 約束應(yīng)用于前面所講的列,除非指定了源列。

 

FOREIGN KEY 約束僅能引用位于同一服務(wù)器上的同一數(shù)據(jù)庫中的表。數(shù)據(jù)庫間的引用完整性必須通過觸發(fā)器實現(xiàn)。有關(guān)更多信息,請參見 CREATE TRIGGER。

 

FOREIGN KEY 可以引用同一表中的其它列(自引用)。

 

列級 FOREIGN KEY 約束的 REFERENCES 子句僅能列出一個引用列,且該列必須與定義約束的列具有相同的數(shù)據(jù)類型。

 

表級 FOREIGN KEY 約束的 REFERENCES 子句中引用列的數(shù)目必須與約束列列表中的列數(shù)相同。每個引用列的數(shù)據(jù)類型也必須與列表中相應(yīng)列的數(shù)據(jù)類型相同。

 

如果 timestamp 類型的列是SQL Server 外鍵或被引用鍵的一部分,則不能指定 CASCADE。

 

可以在相互間具有引用關(guān)系的表上組合使用 CASCADE 和 NO ACTION。如果 SQL Server 遇到 NO ACTION,將終止執(zhí)行語句并回滾相關(guān)的 CASCADE 操作。當(dāng) DELETE 語句導(dǎo)致 CASCADE 和 NO ACTION 組合操作時,在 SQL Server 檢查 NO ACTION 操作之前將執(zhí)行所有 CASCADE 操作。

 

一個表最多可包含 253 個 FOREIGN KEY 約束。

 

對于臨時表不強制 FOREIGN KEY 約束。

 

每個表在其 FOREIGN KEY 約束中最多可以引用 253 個不同的表。

 

FOREIGN KEY 約束只能引用被引用表的 PRIMARY KEY 或 UNIQUE 約束中的列或被引用表上 UNIQUE INDEX 中的列。

 

仍然不解其意.

然后在關(guān)系圖中的關(guān)系上點擊右鍵,查看屬性,發(fā)現(xiàn)其"INSERT 和 UPDATE 規(guī)范類別 "內(nèi)都是"無操作",感覺應(yīng)該是這里的問題.

上msdn上搜索了一下,發(fā)現(xiàn)了這篇文章: 可視化數(shù)據(jù)庫工具-外鍵列屬性

 

ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_vdt01/html/2cb23e81-6342-4390-9d0e-b7a4805eca0f.htm

 

關(guān)鍵的幾句在這里:

 

Title

INSERT 和 UPDATE 規(guī)范類別

 

展開以顯示有關(guān)該關(guān)系的“刪除規(guī)則”和“更新規(guī)則”的信息。

 

刪除規(guī)則

指定當(dāng)數(shù)據(jù)庫的最終用戶嘗試刪除某一行,而該行包含外鍵關(guān)系所涉及的數(shù)據(jù)時所發(fā)生的情況。如果設(shè)置為:

 

無操作 顯示一條錯誤信息,告知用戶不允許執(zhí)行該刪除操作,DELETE 將被回滾。

級聯(lián) 刪除包含外鍵關(guān)系中所涉及的數(shù)據(jù)的所有行。

設(shè)置空 如果表的所有外鍵列都可接受空值,則將該值設(shè)置為空。僅適用于 SQL Server 2005。

設(shè)置默認值 如果表的所有外鍵列均已定義默認值,則將該值設(shè)置為列定義的默認值。僅適用于 SQL Server 2005。

更新規(guī)則

指定當(dāng)數(shù)據(jù)庫的用戶嘗試更新某一行,而該行包含SQL Server 外鍵關(guān)系所涉及的數(shù)據(jù)時所發(fā)生的情況。如果設(shè)置為:

 

無操作 顯示一條錯誤信息,告知用戶不允許執(zhí)行該刪除操作,DELETE 將被回滾。

級聯(lián) 刪除包含外鍵關(guān)系中所涉及的數(shù)據(jù)的所有行。

設(shè)置空 如果表的所有外鍵列都可接受空值,則將該值設(shè)置為空。僅適用于 SQL Server 2005。

設(shè)置默認值 如果表的所有外鍵列均已定義默認值,則將該值設(shè)置為列定義的默認值。僅適用于 SQL Server 2005。

總算是明白了:

 

1.在vs2005中,外鍵約束的屬性窗口中它不叫"級聯(lián)",叫"層疊",估計是翻譯錯誤.

 

2.vs2005中,在關(guān)系圖中建立外鍵約束,它"默認的INSERT 和 UPDATE 規(guī)范"都是"無操作".

 

也就是說,你只要更新或刪除,它都會報錯.

 

3.解決的方法:

 

a.刪除的時候好辦,級聯(lián)刪除就可以了.但更新的時候還得好好考慮.

 

b.或者干脆去掉外鍵約束,自己考慮,然后寫transcation sql.

原文標題:SQL Server 外鍵 更新(刪除)規(guī)則

連接:http://www.cnblogs.com/yelaiju/archive/2010/05/31/1748380.html

【編輯推薦】

  1. SQL Server外鍵約束與建立外鍵約束的方案
  2. SQL Server 2000 導(dǎo)入2005的數(shù)據(jù)很簡單
  3. MS SQL Server 連接字符串的實際操作簡介
  4. SQL Server 字符串在實際操作中的注意事項
  5. SQL Server 連接字符串的實現(xiàn)步驟
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-07-21 15:22:07

2010-07-07 11:03:21

SQL Server索

2010-09-13 13:58:29

sql server外

2010-06-28 12:39:14

SQL Server數(shù)

2010-07-23 09:25:50

SQL Server導(dǎo)

2010-07-16 11:10:52

SQL server

2010-09-13 14:05:09

sql server外

2010-06-28 12:27:35

SQL Server

2010-06-30 17:56:06

2010-07-05 12:21:57

SQL Server記

2010-07-12 10:13:44

SQL Server表

2010-07-06 09:20:30

SQL Server查

2010-06-17 12:26:51

SQL Server索

2010-06-28 13:27:33

SQL Server視

2010-04-16 17:17:31

Oracle訪問

2010-07-05 10:15:40

SQL Server

2010-07-20 11:13:09

SQL Server日

2010-07-21 09:28:34

SQL Server

2010-07-09 12:49:41

SQL Server自

2010-07-21 09:18:44

SQL Server
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美高清一区 | 国产精品99久久久久久宅男 | 成人免费视频网站在线看 | 日本不卡免费新一二三区 | 久久精品国产一区二区电影 | 亚洲高清视频一区 | 伊人啪啪网 | 日韩精品免费 | www精品美女久久久tv | 91免费电影| 欧美成人免费在线 | 亚洲精品播放 | 亚洲福利在线观看 | 国产精品视频在线播放 | 日本精品在线观看 | 久久久女女女女999久久 | 日韩第一区 | 东方伊人免费在线观看 | 日韩在线小视频 | 久久久久久国产精品mv | 亚洲一区视频 | 日本成年免费网站 | 91久久国产综合久久 | 久久久国产一区二区三区 | 一区二区在线免费播放 | 久久黄色精品视频 | 亚洲在线日韩 | 欧美日韩中文在线 | 一区二区三区四区在线视频 | 欧美性生活网 | 农村黄性色生活片 | 国产成人精品一区二区三区四区 | 成人在线中文字幕 | 久久精品欧美一区二区三区不卡 | 性国产xxxx乳高跟 | 自拍偷拍在线视频 | 日韩一区二区在线播放 | 久久婷婷av| 免费观看av | 欧美日韩在线观看视频网站 | 日操操夜操操 |