視圖除了進行查詢記錄外,也可以利用視圖進行插入、更新、刪除記錄的操作,減少對基表中信息的直接操作,提高了數據的安全性。
在視圖上使用INSERT語句添加數據時,要符合以下規則。
(1)使用INSERT語句向數據表中插入數據時,用戶必須有插入數據的權利。
(2)由於視圖只引用表中的部分字段,所以通過視圖插入數據時只能明確指定視圖中引用的字段的取值。而那些表中並未引用的字段,必
須知道在沒有指定取值的情況下如何填充數據,因此視圖中未引用的字段必須具備下列條件之一。
該字段允許空值。
該字段設有默認值。
該字段是標識字段,可根據標識種子和標識增量自動填充數據。
該字段的數據類型為timestamp或uniqueidentifier。
(3)視圖中不能包含多個字段值的組合,或者包含使用統計函數的結果。
(4)視圖中不能包含DISTINCT或GROUP BY子句。
(5)如果視圖中使用了WITH CHECK OPTION,那么該子句將檢查插入的數據是否符合視圖定義中SELECT語句所設置的條件。如果插入
的數據不符合該條件,SQL Server會拒絕插入數據。
(6)不能在一個語句中對多個基礎表使用數據修改語句。因此,如果要向一個引用了多個數據表的視圖添加數據時,必須使用多個INSERT
語句進行添加。