2011-10-02 99 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