oracle 存储过程 读取顺序错误
调用下面存储过程 出现 读取顺序错误的 提示,
大家帮忙看下 谢谢~~!
PROCEDURE RetrieveNonblockingInstanceIds
(
p_OWNER_ID IN INSTANCE_STATE.OWNER_ID%TYPE := NULL
,p_OWNED_UNTIL IN INSTANCE_STATE.OWNED_UNTIL%TYPE := NULL
,p_NOW IN DATE
,p_WORKFLOW_IDS OUT RefCursor
)
AS
BEGIN
OPEN p_WORKFLOW_IDS FOR
SELECT
INSTANCE_ID
from
INSTANCE_STATE
WHERE
BLOCKED = 0
AND STATUS NOT IN (c_STATUS_COMPLETED, c_STATUS_SUSPENDED, c_STATUS_TERMINATED)
AND (OWNER_ID IS NULL OR OWNED_UNTIL < p_NOW)
FOR UPDATE;
IF NVL(SQL%ROWCOUNT, 0) > 0
THEN
UPDATE INSTANCE_STATE
SET
OWNER_ID = p_OWNER_ID
,OWNED_UNTIL = p_OWNED_UNTIL
WHERE
BLOCKED = 0
AND STATUS NOT IN (c_STATUS_COMPLETED, c_STATUS_SUSPENDED, c_STATUS_TERMINATED)
AND (OWNER_ID IS NULL OR OWNED_UNTIL < p_NOW);
END IF;
END;
详细错误提示?
ORA-01002: 读取违反顺序
应该使用sys_refcursor
弱弱的提个疑问:
假如for update这里锁了3条,在if的时候,有别的会话插了一条刚好满足条件,则下面的更新会不会有4条啊。
Cause In a host language program, a FETCH call was issued out of sequence. A successful parse-and-execute call must be issued before a fetch. This can occur if an atte
相关问答:
安装了Oracle 10g,默认安装了orcl数据库,这个数据库能不能删除啊,还有我如果新建了其他数据库,怎么知道在web中登陆不同数据库的地址啊?
1
可以删除
2
在WEB地址栏中输入地址的时候指定新创建的数据库的IP ......
大家好,我现在把oracle服务器上面的原始文件,下载到本机了.我想在本机访问数据库怎么设置啊.是不是类似可以建立一个什么虚拟服务器来实现.请大家出出主意
引用
大家好,我现在把oracle服务器上面 ......
exp user/password@dbname file=c:\table.dmp tables=jbitaku,jbitakum grants=y
然後按回車鍵 說明: user/password@dbname 分別表示用戶名,密碼和服務名 f ......
在执行包的时候引用oracle spatial空间函数出错,出错情况如下
Errors in file
/user/oracle/app/oracle/admin/grid/udump/grid1_ora_143768.trc: ORA-29902:
error in executing ODCIIndexStart() routine ORA-0 ......