正文
oracle存储过程出错,oracle 01403 存储过程
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
问一个关于Oracle的存储过程出现invalid的问题
1、错误对话框提示的意思是:存储过程See无效。在Oracle中存储过程,函数,包等等都要经过编译才能使用。而无效的状态说明其未能成功编译。
2、VALID表示该存储过程有效(即通过编译),INVALID表示存储过程无效或需要重新编译。
3、你的存储过程有错误,编译不通过。处理于无效状态。问题 存储过程中隐式游标的select 语句必须要有into子句。
4、一种是你的存储过程编辑没有成功,创建了,但里面有语法错误。还有一种是存储过程使用的表有结构上的改变,需要重新编译一下。解决方法如下:重新编译一下,如果不成功,就是有语法问题,你需要修改存储过程。
JAVA调用ORACLE存储过程出错
1、从报错看是字符串索引超出范围,需要看存储过程的执行结果。可以在sqlplus中执行exec PKG_I_DFXM.PRC_I_NBBPCF(你的参数)看下结果。
2、第二个问题:先申明out参数,再执行过程,记得过程中out参数前的冒号。即:SQL VAR PROLD2 VARCHAR;SQL EXEC PRO_selectById(proId1value,:PROLD2);回车显示PL/SQL procedure successfully completed即表示执行成功。
3、你通过JDBC这种方式调用存储过程,应该使用 CallableStatement 类, CallableStatement cs=conn.prepareCall(str);补充一句,避免你在执行有错,cs.excuse();这个方法为执行,然后在获取输出参数。
ORACLE中的存储过程错误解析,求解,求大神指导
可用第三方工具检查错误。如以下存储过程:其中第六行故意少写了一个分号。然后执行后,会提示完成,这时可以去左边的树中找到这个存储过程,显示是有个红叉的。这时,可以右键,选择编辑。然后打开页面的最下方会显示如下信息。
其中username ,counter ,rolename 是传入参数,传入参数不能赋值,即第8行语句有问题,建议删除。建议在plsql工具中编辑,方便。
emp_id CHAR,increase NUMBER),改为CREATE OR REPLACE PROCEDURE raise_salary(emp_id emp.eno%rowtype,increase emp.sal%rowtype)看看还出错不。
/过程已创建。 SQL set serveroutput onSQL SQL BEGIN 2 HelloWorld(); 3 END; 4 /Hello WorldFirst Test! Second Test !PL/SQL 过程已成功完成。
第8行的错误原因不明.第9行的, 可能是因为你的 cnum avg 这些列, 是数字类型的 而 || 是 连接 char / varchar 的。
关于oracle存储过程出错和oracle 01403 存储过程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。