plsql中的错误

来源:5-3 案例:员工涨工资问题

judyW

2017-06-02 01:16

给员工涨工资,要求从最低工资涨起,每个员工涨10%,且最低工资不能超过五万元。计算涨工资的员工人数和涨工资后的工资总和,且打印输出。

set serveroutput on

declare

cursor cemp is select empno,sal from emp order by sal ;

pempno emp.empno%type;

psal   emp.sal%type;

countEmp number := 0;

salTotal number;

begin

select sum(sal)into salTotal from emp;

open cemp;

loop

exit when salTotal > 50000;

fetch cemp into pempno,psal;

exit when cemp%notfound;

update emp set sal=sal * 1.1 where empno=pempno;

countEmp := countEmp + 1;

salTotal := salTotal + sal * 0.1;

end loop;

close cemp;

commit;

dbms_output.put_line('涨工资的人数:'|| countEmp || '  涨工资后的工资总额是:  '|| salTotal);

end;

/

为什么执行后显示错误:错误报告 -

ORA-06550: 第 16 行, 第 24 列: 

PLS-00201: 必须声明标识符 'SAL'

ORA-06550: 第 16 行, 第 1 列: 

PL/SQL: Statement ignored

06550. 00000 -  "line %s, column %s:\n%s"

*Cause:    Usually a PL/SQL compilation error.

*Action:


写回答 关注

1回答

  • qq_韬光不晦_04240374
    2017-06-06 14:57:30

    salTotal := salTotal + sal * 0.1;

    sal 改成emp.sal

    qq_韬光不...

    salTotal := salTotal + sal * 0.1; 或者sal改成psal

    2017-06-06 15:01:04

    共 1 条回复 >

Oracle数据库开发必备利器之PL/SQL基础

Oracle数据库高级开发必备的基础,通过实例带你熟练掌握

75048 学习 · 208 问题

查看课程

相似问题