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

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

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

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

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

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

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

◆對(duì)于基礎(chǔ)表中需更新而又不允許空值的所有列,它們的值在 INSERT 語句或 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)限制可通過在基礎(chǔ)表上而不在視圖本身上聲明游標(biāo)得到解決。

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

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

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

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

相關(guān)閱讀

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

熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 淺談JSP JDBC來連接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)表損壞的解決方法 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系

相關(guān)下載

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