我从 2 天开始就试图解决这个问题,我想我快疯了。我认为有一个简单的方法,但我看不到。
首先,这是我的表格:
- 人员(P_ID、P_NAME、P_SURNAME、BIRTH_DATE、DEPT_CODE(
- PERSONNEL_SPECIAL(P_ID,薪水(
- PERSONNEL_ATTENDANCE(ID、P_ID、A_DATE、A_TIME、状态(
- 部门(DEPT_CODE、DEPT_NAME、EDUCATION_TYPE、FACULTY_CODE(
- 师资力量(FACULTY_CODE,FACULTY_NAME(
我想写一个程序,增加作为参数的教师中存在的人员的工资。参数为faculty_code。
如果你能帮助我,我会感谢你。我不知道也许我的大脑太累了,这就是为什么我找不到解决方案。无论如何谢谢你
这样的东西会起作用吗?
create or replace procedure p_inc_sal (
par_faculty_code in faculty.faculty_code%type,
par_pct_inc in number)
is
begin
update personnel_special ps
set ps.salary = ps.salary * (1 + par_pct_inc / 100)
where exists
(select null
from personnel p
join department d on d.dept_code = p.dept_code
where d.faculty_code = par_faculty_code
and p.p_id = ps.p_id);
end;