举一帆
2016-10-19 15:07
这是存储过程代码 :create or replace procedure raisesalary(eno in number)
as
oldsalary emp.empno%type;
begin
select sal into oldsalary where empno=eno;
update emp set sal = sal+100 where empno=eno;
dbms_output.put_line('修改前:'||oldsalary||' 修改后:'||(sal+100));
end;
调用的时候出现PLS-00905: 对象 SCOTT.RAISESALARY 无效;为什么啊
create or replace procedure raisalary(eno in number)--in 输入参数
as
psal a_testoracel.sal%type; --引用薪水的类型作为变量的类型
begin --plsql程序开始
--得到员工涨前的薪水
select sal into psal from a_testoracel where empno = eno;
update a_testoracel set sal=sal+100 where empno = eno;
dbms_output.put_line('涨前:'||psal||' 涨后:'||(psal + 100));
end;
/
第三行定义变量涨前的薪水错了。应该为 oldsalary emp.sal%type;
第七行最后输出修改后应该是oldsalary +100
Oracle存储过程和自定义函数
56308 学习 · 118 问题
相似问题