我创建了一个视图
SQL> create view DEPT20 AS
2 select empno AS Employee_ID_ID,ename AS Employee, deptno as Department_ID from emp
3 where deptno = 20
4 with check option constraint emp_dept_20;
View created.
我希望收到此错误
ORA-01402: view WITH CHECK OPTION where-clause violation
但我没有得到错误
SQL> update dept20
2 set department_ID=30
3 where Employee='Smith';
0 rows updated.
SQL>
通常情况下,我不喜欢错误,但是当有人试图超出允许范围时,我想要错误。
答案 0 :(得分:3)
如果您运行此 SQL会怎样?
update dept20
set department_ID=30
where Employee='SMITH';
如果您使用规范的EMP表,则所有员工的姓名都是大写的。