數據庫中視圖的更新限制

1. 若視圖是由兩個以上基本表導出的,則此視圖不容許更新。函數

2. 若視圖的字段來自字段表達式或常數,則不容許對此視圖執行INSERT和UPDATE操做,但容許執行DELETE操做。查詢

3. 若視圖的字段來自集函數,則此視圖不容許更新。

4. 若視圖定義中含有GROUP BY子句,則此視圖不容許更新。

5. 若視圖定義中含有DISTINCT短語,則此視圖不容許更新。

6. 若視圖定義中有嵌套查詢,而且內層查詢的FROM子句中涉及的表也是導出該視圖的基本表,則此視圖不容許更新。例如將成績在平均成績之上的元組定義成一個視圖GOOD_SC: CREATE VIEW GOOD_SC AS SELECT Sno, Cno, Grade FROM SC WHERE Grade > (SELECT AVG(Grade) FROM SC);   導出視圖GOOD_SC的基本表是SC,內層查詢中涉及的表也是SC,因此視圖GOOD_SC是不容許更新的。

7. 一個不容許更新的視圖上定義的視圖也不容許更新。

相關文章
相關標籤/搜索