#sql #oracle
#sql #Oracle
Вопрос:
Я создаю представление
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>
Обычно мне не нравятся ошибки, но в этом я хочу ошибку, когда кто-то пытается выйти за пределы разрешенного.
Ответ №1:
Что произойдет, если вы запустите этот SQL?
update dept20
set department_ID=30
where Employee='SMITH';
Если вы используете каноническую таблицу EMP, имена всех сотрудников указаны в верхнем регистре.