日期:2014-05-17  浏览次数:21075 次

存储过程执行出错
存储过程,是书上的例子。
SQL code
create  procedure update_sal(name1 varchar2(20),newsal number)
is
begin
 update emp set sal=newsal
 where lower(ename)=lower('name1');
end;


执行是显示如下:
SQL code
exec update_sal('king',3000);

ORA-06550: 第 2 行, 第 7 列: 
PLS-00905: 对象 SCOTT.UPDATE_SAL 无效
ORA-06550: 第 2 行, 第 7 列: 
PL/SQL: Statement ignored


望指点。

------解决方案--------------------
update_sal 这个编译了么?
------解决方案--------------------
编译肯定没通过,请参考
SQL code
create OR REPLACE procedure update_sal(name1 IN varchar2,newsal IN NUMBER)
is
begin
 update emp set sal=newsal
 where lower(ename)=lower(name1);
end;