仗劳勤学网

oracle存储过程编译卡死(oracle存储过程declare)

本篇目录:

java调用oracle存储过程到execute()就卡住了?debug看了一下就是走到ex...

那说明你的存储过程没有返回结果啊,你得首先保证你得过程在pl/sql中有效率的执行为前提。

从报错看是字符串索引超出范围,需要看存储过程的执行结果。可以在sqlplus中执行exec PKG_I_DFXM.PRC_I_NBBPCF(你的参数)看下结果。

oracle存储过程编译卡死(oracle存储过程declare)-图1

这个调用存储过程的Java方法是mapping的一个好例子。Mapping是对一个集上的操作进行抽象的方法。不是在这个过程上返回一个集,我们可以把操作传送进去执行。本例中,操作就是把ResultSet打印到一个输出流。

oracle存储过程无法编译、表数据无法修改

1、在对数据的增、删、改操作时,有时会发现一直操作不成功,原因可能是表被锁死;或者存储过程无法编译。

2、【注】以上两步,可以通过Oracle的管理控制台来执行。

3、一种是你的存储过程编辑没有成功,创建了,但里面有语法错误。还有一种是存储过程使用的表有结构上的改变,需要重新编译一下。解决方法如下:重新编译一下,如果不成功,就是有语法问题,你需要修改存储过程。

oracle存储过程编译卡死(oracle存储过程declare)-图2

4、你怎么查的锁?v$locked_object?dba_ddl_locks查了没,可能是ddl的锁,如果不能编译,一编译就死,也可能是ddl的锁导致的,以前碰到过。如果能找到锁,那就简单了。

5、PL SQL 的查询结果本来就不能用于直接修改。请根据查询结果编写(使用)标准的SQL语句,让PL SQL执行(也就是发送给数据库服务器)来进行修改。或手动找到相关的表点右键,点“编辑数据”。

6、首先打开PL/SQL Developer软件,新建sql窗口。打开修改oracle存储过程,该存储过程有一个输入参数(pid)跟一个输出参数(name),即通过用户id查询用户名称并将名称返回。

oracle存储过程为什么一编译就挂死,是锁住了吗?是不是跟表一样有锁的...

1、你怎么查的锁?v$locked_object?dba_ddl_locks查了没,可能是ddl的锁,如果不能编译,一编译就死,也可能是ddl的锁导致的,以前碰到过。如果能找到锁,那就简单了。

oracle存储过程编译卡死(oracle存储过程declare)-图3

2、在对数据的增、删、改操作时,有时会发现一直操作不成功,原因可能是表被锁死;或者存储过程无法编译。

3、一种是你的存储过程编辑没有成功,创建了,但里面有语法错误。还有一种是存储过程使用的表有结构上的改变,需要重新编译一下。解决方法如下:重新编译一下,如果不成功,就是有语法问题,你需要修改存储过程。

到此,以上就是小编对于oracle存储过程declare的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

分享:
扫描分享到社交APP
上一篇
下一篇