暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 更新查询是否在密钥持有者中返回受影响的行值?

askTom 2017-10-29
232

问题描述

嗨,汤姆,

Oracle是否在密钥持有者中返回update SQL语句的受影响行?对于插入查询,我们应该接收自动生成的密钥。这样的方式更新查询返回受影响的行id?

专家解答

各种信息都有,

例如

SQL> create table t as select rownum x, rownum*10 y
  2  from dual
  3  connect by level <= 5;

Table created.

SQL>
SQL> select * from t;

         X          Y
---------- ----------
         1         10
         2         20
         3         30
         4         40
         5         50

SQL> set serverout on
SQL> b例如in
  2    update t set y = y + 1 where x <= 3;
  3
  4    dbms_output.put_line('rows changed = '||sql%rowcount);
  5  end;
  6  /
rows changed = 3

PL/SQL procedure successfully completed.

SQL> declare
  2    type pk_list is table of number index by pls_int例如er;
  3    pk pk_list;
  4  b例如in
  5    update t set y = y + 1 where x <= 3
  6    returning x bulk collect into pk;
  7
  8    for i in 1 ..pk.count loop
  9      dbms_output.put_line('affected x was '||pk(i));
 10    end loop;
 11  end;
 12  /
affected x was 1
affected x was 2
affected x was 3

PL/SQL procedure successfully completed.
复制


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论