程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> oracle 下WITH CHECK OPTION用法

oracle 下WITH CHECK OPTION用法

編輯:關於Oracle數據庫
如果視圖定義包括條件(譬如 WHERE 子句)並且其意圖是確保任何引用該視圖的 INSERT 或 UPDATE 語句都應用 WHERE 子句,則必須使用 WITH CHECK OPTION 定義該視圖。這個選項可以確保數據庫中正在修改的數據的完整性。如果在 INSERT 或 UPDATE 操作期間違反了條件,則返回 SQL 錯誤。 
下面是一個使用了 WITH CHECK OPTION 的視圖定義的示例。要確保總是檢查條件,WITH CHECK OPTION 是必需的。在這種情況下,我們希望確保 DEPT 總是 10。這會限制 DEPT 列的輸入值。當使用視圖插入新值時,總是強制執行 WITH CHECK OPTION。 
代碼如下:

CREATE VIEW EMP_VIEW2 
  (EMPNO,EMPNAME,DEPTNO,JOBTITLE,HIREDATE) 
  AS SELECT ID,NAME,DEPT,JOB,HIREDATE FROM EMPLOYEE 
    WHERE DEPT=10 
  WITH CHECK OPTION; 
如果這個子句不存在,那麼某個使用該視圖的用戶就有可能更新某條記錄,使其不再屬於該視圖。例如,下列 SQL 語句可能會引起一些問題。 
UPDATE EMP_VIEW2 SET DEPT=20 WHERE DEPT=10;
這個語句的結果是該視圖現在不包含任何記錄,因為部門 10 不再有雇員了。 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved