写存储过程的第一天脑子比较迷糊,总是错误百出(以下为本人在实验过程中所遇到的错误,如有不妥之处,望指正)。
存储过程代码(正确):
create or replace procedure p_借书(
p_借阅流水号 in Leadinformation.Leadid%TYPE,
p_借书证号 in Leadinformation.Readerid%TYPE,
p_图书编号 in Leadinformation.Bookid%TYPE
)
as
Begin
insert into Leadinformation
values(p_借阅流水号,p_借书证号,p_图书编号,SYSDATE,'','','');
update Book set Book.Isout='是' where Book.Bookid=p_图书编号;
dbms_output.put_line('操作成功');
commit;
return;
END;
call p_借书(8,'20051001','2001231');
调用存储过程报错:若是在调用存储过程的时候报这个错误一般是存储过程写的有问题,可以在看看存储过程是否有编译成功
创建存储过程报错:错误的原因就比较多了,如果是在参数部分报错,就注意看看是否是在类型后面加了长度如varchar2(10),如果没有就看看参数之间的分隔符“,”是否有,如果在PL/SQL块内报错,就看看参数及参数类型是否一一对应,尤其注意日期的类型是否对应