嗨,我是 pl/sql 的新手
我需要将所有员工少于 5 人的项目的 rate_per_hour 更新为 500
这是我写的代码,但它更新了所有员工
set serveroutput on
declare
cursor rate_cur is
select * from project
for update of rate_per_hour;
begin
for rate_rec IN rate_cur
loop
update project
set rate_per_hour=500
where current of rate_cur;
end loop;
end;
这是我的桌子:
CREATE TABLE employee(
empid number(5),
empname varchar(20),
address varchar(20),
no_of_dependents number(5),
deptno number(5),
CONSTRAINT EMPLOYEE_PKEY PRIMARY KEY(empid),
CONSTRAINT EMPLOYEE_FKEY FOREIGN KEY(deptno) REFERENCES department(deptno));
CREATE TABLE project(
projectno number(5),
location varchar(20),
incharge number(5),
rate_per_hour number(5),
CONSTRAINT PROJECT_PKEY PRIMARY KEY(projectno),
CONSTRAINT PROJECT_FKEY FOREIGN KEY(incharge) REFERENCES employee(empid));
CREATE TABLE assignment(
empid number(5),
projectid number(5),
hours number(5),
CONSTRAINT ASSIGNMENT_FKEY FOREIGN KEY(empid) REFERENCES employee(empid),
CONSTRAINT ASSIGNEMNT_FKEY2 FOREIGN KEY(projectid) REFERENCES project(projectno));
Please suggest a solution