2011-10-02 57 views
1

我创建一个视图我期待一个错误,但我没有得到什么,我会觉得

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> 

通常我喜欢没有错误,但在这一个我想要有人试图超出允许的错误。

回答

3

如果您运行这个 SQL会发生什么?

update dept20 
set department_ID=30 
where Employee='SMITH'; 

如果您使用规范的EMP表,则所有员工的名称均为大写。

+0

那太蠢了我对不起,我错过了。 – Randy