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