首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 視圖資料修改實戰:INSERT、UPDATE、DELETE 操作限制與多表視圖處理技巧

     編輯:關於SqlServer

視圖結構類似表,向視圖插入或更新資料實際作用於其引用的基礎表。但透過視圖修改資料較直接操作表有額外限制,以下透過具體範例說明。

使用 SELECT 可在視圖與表中查詢到該筆記錄。但執行以下語句雖成功,該筆資料僅存在於表中,不在視圖中:

注意: 向視圖插入資料實質是向基礎表插入,必須確認視圖欄位包含但屬於表的欄位,允許 NULL 值或有預設值。

多表視圖的 INSERT 限制

單一 INSERT 敘述僅能操作屬於同一個表的欄位。向多表視圖 au_title 插入一筆資料,必須分別執行:

insert into au_title (author_au_id, au_lname, au_fname, contract)
values ('234-34-4611','John','Smith', 1)

insert into au_title (title_au_id, title_id, au_ord, royaltyper)
values ('234-34-4611','BU1111',1,50)

UPDATE 與 DELETE 的關鍵限制

  1. 執行 UPDATE、DELETE 時,被修改或刪除的資料必須包含在視圖結果集中
  2. 視圖引用多個表時:無法使用 DELETE 刪除資料;使用 UPDATE 時,被更新欄位必須屬於同一個表
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved