存储过程执行出错,该怎么解决

存储过程执行出错存储过程,是书上的例子。SQL codecreateprocedure update_sal(name1 varchar2(20),newsal

存储过程执行出错
存储过程,是书上的例子。

SQL code
create  procedure update_sal(name1 varchar2(20),newsal number)isbegin 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)isbegin update emp set sal=newsal where lower(ename)=lower(name1);end;