用PL/SQL语句实现如下功能:输入员工号,并修改该员工的工资。如果该员工的工资在3000~5000元之间,工资增加1500元;如果工资在5001~8000元之间,增加2000元;如果工资在8001~10000元之间,增加5000元;否则抛出异常
时间: 2023-11-27 14:51:28 浏览: 73
以下是实现代码:
```
DECLARE
v_empno NUMBER;
v_salary NUMBER;
BEGIN
-- 输入员工号和工资
v_empno := &empno;
v_salary := &salary;
-- 根据工资范围增加工资
IF v_salary BETWEEN 3000 AND 5000 THEN
v_salary := v_salary + 1500;
ELSIF v_salary BETWEEN 5001 AND 8000 THEN
v_salary := v_salary + 2000;
ELSIF v_salary BETWEEN 8001 AND 10000 THEN
v_salary := v_salary + 5000;
ELSE
RAISE_APPLICATION_ERROR(-20001, '工资范围错误');
END IF;
-- 更新员工工资
UPDATE emp SET salary = v_salary WHERE empno = v_empno;
DBMS_OUTPUT.PUT_LINE('员工工资已修改为: ' || v_salary);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('错误信息: ' || SQLERRM);
END;
```
在执行时,会提示输入员工号和工资,根据输入的工资范围来增加工资,并更新员工信息。如果输入的工资不在3000~10000元之间,则会抛出异常。