oracle 下WITH CHECK OPTION用法

來源:互聯網
上載者:User

如果視圖定義包括條件(譬如 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 不再有僱員了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.