加入收藏 | 设为首页 | 会员中心 | 我要投稿 51站长网 (https://www.51zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
站内搜索:
当前位置: 首页 > 站长百科 > 正文

Oracle如何计算在plsql块中插入的总行数

发布时间:2021-01-08 09:46:20 所属栏目:站长百科 来源:网络整理
导读:我想要计算我在数据库中插入的数量 下面的查询返回一(1),虽然2行确实更新 begin Insert into APPLICATIONS (ID,ALIAS,NAME,STATUS) values (1000000386,'BB','Branch Budgets','I')); Insert into APPLICATIONS (ID,STATUS) values (1000000257,'TIME','Time

我想要计算我在数据库中插入的数量

下面的查询返回一(1),虽然2行确实更新

begin 
   Insert into APPLICATIONS (ID,ALIAS,NAME,STATUS) 
        values (1000000386,'BB','Branch Budgets','I'));
   Insert into APPLICATIONS (ID,STATUS) 
        values (1000000257,'TIME','Timesheets','I'));
   dbms_output.put_line('No Of rows'||sql%Rowcount);
 end;

解决方法

dbms_output.put_line('No Of rows'||sql%Rowcount);

这将为您提供最后一个语句更新的总行数.所以,即使你有这样的10个插入语句,你总是得到1作为sql%rowcount.

使用2个输出语句,每个语句在插入语句之后,或使用变量并添加更新的行数,然后最后显示它.

declare
    v_count integer;
    begin 
        v_count:=0;
       Insert into APPLICATIONS (ID,STATUS) 
            values (1000000386,'I');
        v_count:=   sql%Rowcount;
       Insert into APPLICATIONS (ID,STATUS) 
            values (1000000257,'I');
        v_count:= v_count+ sql%Rowcount;
       dbms_output.put_line('No Of rows '||v_count);
     commit;
     end;

要么
?如果要将数据插入到同一个表中,请使用这样的组合插入语句.
这将返回2行.

begin    
    INSERT ALL 
        into  APPLICATIONS (ID,STATUS) 
             values (1000000386,'I')
        into  APPLICATIONS (ID,STATUS) 
             values (1000000257,'I')
    SELECT * FROM dual;         
    dbms_output.put_line('No Of rows '||sql%Rowcount);
    commit;
    end;

(编辑:ASP站长)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

    相关内容
    未处理完善
      无相关信息
    未处理完善