IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)數(shù)據(jù)庫(kù)MSSQL → 通過(guò)視圖修改數(shù)據(jù)時(shí)所應(yīng)掌握的基本準(zhǔn)則

通過(guò)視圖修改數(shù)據(jù)時(shí)所應(yīng)掌握的基本準(zhǔn)則

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

假如不使用INSTEAD OF觸發(fā)器或可更新分區(qū)視圖而是通過(guò)視圖來(lái)修改數(shù)據(jù),那么再修改之前,請(qǐng)考慮下列準(zhǔn)則:

◆如果在視圖定義中使用了 WITH CHECK OPTION 子句,則所有在視圖上執(zhí)行的數(shù)據(jù)修改語(yǔ)句都必須符合定義視圖的 SELECT 語(yǔ)句中所設(shè)定的條件。如果使用了 WITH CHECK OPTION 子句,修改行時(shí)需注意不讓它們?cè)谛薷耐瓿珊髲囊晥D中消失。任何可能導(dǎo)致行消失的修改都會(huì)被取消,并顯示錯(cuò)誤信息。

SQL Server 必須能夠明確地解析對(duì)視圖所引用基表中的特定行所做的修改操作。不能在一個(gè)語(yǔ)句中對(duì)多個(gè)基礎(chǔ)表使用數(shù)據(jù)修改語(yǔ)句。因此,列在 UPDATE 或 INSERT 語(yǔ)句中的列必須屬于視圖定義中的同一個(gè)基表。

◆對(duì)于基礎(chǔ)表中需更新而又不允許空值的所有列,它們的值在 INSERT 語(yǔ)句或 DEFAULT 定義中指定。這將確?;A(chǔ)表中所有需要值的列都可以獲取值。

◆在基礎(chǔ)表的列中修改的數(shù)據(jù)必須符合對(duì)這些列的約束,如為空性、約束、DEFAULT 定義等。例如,如果要?jiǎng)h除一行,則相關(guān)表中的所有基礎(chǔ) FOREIGN KEY 約束必須仍然得到滿足,刪除操作才能成功。

◆分布式分區(qū)視圖(遠(yuǎn)程視圖)不能使用鍵集驅(qū)動(dòng)游標(biāo)更新。此項(xiàng)限制可通過(guò)在基礎(chǔ)表上而不在視圖本身上聲明游標(biāo)得到解決。

此外,如果在視圖中刪除數(shù)據(jù):

◆在視圖定義的 FROM 子句中只能列出一個(gè)表。

不能在視圖中與text、ntext 或 image 列一起使用 READTEXT 和 WRITETEXT 語(yǔ)句。

關(guān)鍵詞標(biāo)簽:數(shù)據(jù)

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 淺談JSP JDBC來(lái)連接SQL Server 2005的方法 淺談JSP JDBC來(lái)連接SQL Server 2005的方法 SqlServer2005對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 SqlServer2005對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 sql server系統(tǒng)表?yè)p壞的解決方法 sql server系統(tǒng)表?yè)p壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫(kù)用戶、角色、架構(gòu)的關(guān)系 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫(kù)用戶、角色、架構(gòu)的關(guān)系

相關(guān)下載

    人氣排行 配置和注冊(cè)O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫(kù) SQL2000數(shù)據(jù)庫(kù)遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫(kù)服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級(jí)到2000的正確操作步驟 sql server系統(tǒng)表?yè)p壞的解決方法 淺談JSP JDBC來(lái)連接SQL Server 2005的方法