正文
oracle存储过程exception,oracle存储过程执行记录
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
Java连接Oracle调用存储过程提示实际返回的行数超出请求的行数异常,怎...
where staff_vs_group.emp_no = staff_dict.emp_no and rownum=1;这个符合这个条件的记录不止一行,而且很多行 而distinct只能把同一字段相同内容的删掉,不同内容的不会删掉。
语句有毛病,返回结果数超出你的定义。不过你没出具相关的问题内容,没办法解决。
productid=0240040001 中的 productid 是唯一主键么?如果不是 SELECT productid,productname,productprice,quantity FROM productinfo WHERE productid=0240040001;会返回多条记录,也就没法存到单一变量中了。
我的电脑右键,选择Management,之后选择Services,进去后把这两个服务OracleService...,和Oracle..TNSListener打开,具体名字我记不住了\x0d\x0a二。
从报错看是字符串索引超出范围,需要看存储过程的执行结果。可以在sqlplus中执行exec PKG_I_DFXM.PRC_I_NBBPCF(你的参数)看下结果。
,写个最简单的测试类,测试下能否正常连接数据库。
问一个关于Oracle的存储过程出现invalid的问题
VALID表示该存储过程有效(即通过编译),INVALID表示存储过程无效或需要重新编译。
可能性很多,比如编译没有通过(这个的可能性也很多),后来某张表被删除了等等。基本上需要重新编译一下,根据报错等找问题原因。
无效状态有两种可能,一种是你的存储过程编辑没有成功,创建了,但里面有语法错误。还有一种是存储过程使用的表有结构上的改变,需要重新编译一下。你重新编译一下,如果不成功,就是有语法问题,你需要修改存储过程。
oracle存储过程怎么判断一条sql语句是否成功
1、如果前一个 Transact-SQL 语句执行没有错误,则返回 0。如果前一个语句遇到错误,则返回错误号。如果错误是 sys.messages 目录视图中的错误之一,则 @@ERROR 将包含 sys.messages.message_id 列中表示该错误的值。
2、首先设置自己定义的trace文件的标识方便查找。alter session set tracefile_identifier=mytest;然后对当前会话启动SQL_TRACE,最好不要一直打开该开关,代价比较大。
3、在存储过程中加一个输出参数,执行完存储过程后,判断输出参数的值;查看存储过程中处理数据后,你要的效果达到没有。
4、使用第三方软件执行存储过程后软件会有所提示:---比如SQL Navigator 在执行存储过程后,运行按钮恢复可点状态,这就代表存储过程通过并成功执行;您可以调用查询您执行的存储过程中的语句看看值都正常否。
关于oracle存储过程exception和oracle存储过程执行记录的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。