plsql中的錯誤
給員工漲工資,要求從最低工資漲起,每個員工漲10%,且最低工資不能超過五萬元。計(jì)算漲工資的員工人數(shù)和漲工資后的工資總和,且打印輸出。
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('漲工資的人數(shù):'|| countEmp || ' ?漲工資后的工資總額是: ?'|| salTotal);
end;
/
為什么執(zhí)行后顯示錯誤:錯誤報(bào)告 -
ORA-06550: 第 16 行, 第 24 列:?
PLS-00201: 必須聲明標(biāo)識符 '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:
2017-06-06
salTotal := salTotal + sal * 0.1;
sal 改成emp.sal