2、使用SQLDeveloper编写PL/SQL程序块,采用游标方式,调整scott.emp表中雇员信息的基本工资(字段名SAL)。如果该员工薪资小于等于2500,则在原基本工资基础上增加20%的薪资;如果该员工的薪资大于2500,则取消加薪。编写以上程序,输出每位员工的编号、姓名,加薪是否成功,如果加薪成功,输出加薪前和加薪后的工资;如果加薪失败,则输出原工资。
时间: 2024-03-23 09:43:24 浏览: 102
好的,根据您的要求,我来帮您编写PL/SQL程序块:
```sql
DECLARE
CURSOR emp_cur IS SELECT empno, ename, sal FROM scott.emp;
v_empno emp.empno%TYPE;
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
FOR emp_rec IN emp_cur LOOP
v_empno := emp_rec.empno;
v_ename := emp_rec.ename;
v_sal := emp_rec.sal;
IF v_sal <= 2500 THEN
v_sal := v_sal * 1.2;
UPDATE scott.emp SET sal = v_sal WHERE empno = v_empno;
DBMS_OUTPUT.PUT_LINE(v_empno || ' ' || v_ename || ' 加薪成功,加薪前工资为 ' || emp_rec.sal || ',加薪后工资为 ' || v_sal);
ELSE
DBMS_OUTPUT.PUT_LINE(v_empno || ' ' || v_ename || ' 加薪失败,原工资为 ' || v_sal);
END IF;
END LOOP;
END;
```
这个程序块会遍历scott.emp表中的每个员工信息,根据薪资是否小于等于2500进行加薪或取消加薪操作,并输出每个员工编号、姓名,加薪是否成功,以及加薪前后的工资信息。
请注意,这个程序块只是一个示例,如果您需要使用,请根据实际情况进行修改和调整。
阅读全文