概述
错误:
1. a.非匿名的PLSQL块,is/as后面直接跟变量定义
b.只是匿名的PLSQL块才以declare开头
c.在任何的PLSQL块内部可以在BEGIN 。。。END之间再定义PLSQL块嵌套,嵌套的PLSQL块可以带DECLARE
进行定义
所以你的代码中的
begin
declare
end proc_cancel_digital_id;
这三行可以不要。
2. EXCEPTION部分的rollback也可以不用要
因为你的PLSQL块内部只有SELECT,而不是DELETE,INSERT ,UPDATE。
3. 输出参数strAge,strName,ret_code,v_error_message
a.完全没有规范可言,真希乱
b.string 数据类型是sys.STANDARD 包中定义的子类型 subtype STRING is VARCHAR2;
所以直接用标量类型更好,减少一道转换
(另外一看就知这是搞比如java 之类的 定义习惯)
可参考如下:
create or replace procedure proc_test( p_age IN NUMBER,
p_name IN VARCHAR2,
P_ret_code OUT VARCHAR2,
p_error_msg OUT VARCHAR2
)
as
...
4. EXECUTE IMMEDIATE动态语句
strsql :='select name from student where a
最后
以上就是留胡子水蜜桃为你收集整理的oracle存储过程报错输出报错信息,oracle存储过程执行时,如何获得详细的错误信息...的全部内容,希望文章能够帮你解决oracle存储过程报错输出报错信息,oracle存储过程执行时,如何获得详细的错误信息...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复