首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在oracle中修改表中的某个单元格后,表中的行会被锁定

在oracle中修改表中的某个单元格后,表中的行会被锁定
EN

Stack Overflow用户
提问于 2011-10-03 18:22:11
回答 1查看 114关注 0票数 2

我在一个oracle过程中使用了以下代码,它将一个游标(r_cursor)作为OUT参数返回

代码语言:javascript
复制
SELECT userid
      INTO v_userid
      FROM users u
     WHERE lower(u.email) = lower(p_email)
       AND lower(u.token) = lower(p_IV);

UPDATE users u
   SET u.token = NULL,
       u.lastlogin = sysdate()
 WHERE u.userid = v_userid;

  OPEN r_cursor FOR
    SELECT u.firstname,
           u.lastname
      FROM users u
     WHERE u.userid = v_userid;

当从oracle调用该过程时,一切都完全正常。

但是,当从.Net应用程序调用该过程时,会引发错误ORA-24338: statement handle not executed

经过大量测试后,我发现如果从SELECT语句中删除lower(u.token) = lower(p_IV)行,或者从UPDATE语句中删除u.token = NULL,行,游标将返回到.Net应用程序,而不会出现任何错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-03 20:25:18

当您尝试提取尚未打开的游标时,通常会引发ORA-24338

例如,如果您的过程在OPEN语句之前引发了异常,则可能会引发此问题。之后,当您尝试从游标中提取数据时,oracle将提高ORA-24338,因为游标从未打开过。

您的PL/SQL语言中是否包含EXCEPTION块(例如,包含WHEN OTHERS ),或者您是否在.net中捕获SQL

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7633713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档