Ваше представление фильтрует новые данные из-за условия фильтра в представлении.
Поскольку это домашняя задача, я предполагаю, что инструктор, возможно, попросит вас вставить несоответствующую строку в таблицу EMP напрямую и заметить, что она не видна в представлении (для этого предназначены представления). Но вы нашли более интересный случай, вставив вместо этого представления, это поведение «исчезающей строки» - хорошо известное явление.
Вы можете легко предотвратить поведение "исчезающей строки":
create view v_senior
as
select *
from emp
where job like 'manager' or job like 'president'
with check option;
Бит с опцией проверки сообщает Oracle, что при проверке представления все изменения, которые вы вносите с помощью представления (INSERTS или UPDATES), по-прежнему видны.
Эта функция существует, чтобы позволить вам предотвращать ситуации, с которыми вы сталкивались.
Это дополнительная функция, и если вы ее не включите, время от времени вы будете сталкиваться с проблемой «исчезающей строки».
С новым видом я сделал (слегка измененную) вставку:
insert into v_senior (empno, ename, job, mgr, hiredate, sal, comm, deptno)
values(8888,'Luxian', 'SALESMAN', '5678', DATE'2019-06-06', '1000', '500', 20)
И получил эту ошибку:
ORA-01402: просмотр с опцией CHECK где нарушение условия
И это ожидается.