下面,我定义了一些表,用于在定义中键入的相关表。很简单,尽管现在我正试图提高视图中这两名员工的薪水,并且我无法完成更新并收到您将在下面看到的错误消息。任何人都可以指导我一点吗?表employee,project和employees_projects的定义:创建表employee(ID号,名称varchar2(20),移动varchar2(10),地址varchar2(30),薪水编号(6,2),hire_date日期,department_id号);
创建表项目(ID号,名称varchar2(20),预算号(10,2),开始日期,结束日期);创建表employee_projects(id号,employee_id号,project_id号);
视图定义是:
create view lucky_employees as
select e.name,e.salary from employees e, project p, employee_projects ep
where e.project_id=p.id and e.id=ep.employee_id and p.budget > 1000000.00 ;
SQL>选择* from lucky_employees;
ID NAME SALARY
1 Maria 1365.28
2 Sonja 1365.28
然后,我尝试将视图更新10%,这是我知道可以在某些条件下执行的操作:SQL>
update lucky_employees set salary = salary * 1.1;
update lucky_employees set salary = salary * 1.1
*
第1行发生错误:
ORA-01779: cannot modify a column which maps to a non key-preserved table
成功更新它会怎样?
非常感谢,给您带来的不便,敬请谅解!!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句