WITH CHECK OPTION

SQL> desc emp
 名称					   是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 EMPNO						    NUMBER
 ENAME						    VARCHAR2(10)
 JOB						    VARCHAR2(10)
 MGR						    NUMBER
 HIREDATE					    DATE
 SAL						    NUMBER
 COMM						    NUMBER
 DEPTNO 					    NUMBER

SQL> INSERT INTO
      (SELECT empno, ename, hiredate
         FROM emp
        WHERE hiredate <= SYSDATE WITH CHECK OPTION)
    VALUES
      (9999, 'test', SYSDATE+1 );  2    3    4    5    6  
	 FROM emp
              *
第 3 行出现错误:
ORA-01402: 视图 WITH CHECK OPTION where 子句违规


可以利用可更新视图,这里有个子查询,就相当于可更新视图。

加了关键字WITH CHECK OPTION:

如果不符合条件,就不允许插入和更改

原文地址:https://www.cnblogs.com/hzcya1995/p/13352161.html