gpt4 book ai didi

sql - Oracle如何计算在plsql block 中插入的总行数

转载 作者:行者123 更新时间:2023-12-04 13:58:28 27 4
gpt4 key购买 nike

我想不计入数据库的插入次数

尽管更新了2行,但以下查询返回one(1)

begin 
Insert into APPLICATIONS (ID,ALIAS,NAME,STATUS)
values (1000000386,'BB','Branch Budgets','I'));
Insert into APPLICATIONS (ID,ALIAS,NAME,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条输出语句,在 insert语句之后各使用一条,或者使用变量并添加更新后的行数,然后最后显示它。
declare
v_count integer;
begin
v_count:=0;
Insert into APPLICATIONS (ID,ALIAS,NAME,STATUS)
values (1000000386,'BB','Branch Budgets','I');
v_count:= sql%Rowcount;
Insert into APPLICATIONS (ID,ALIAS,NAME,STATUS)
values (1000000257,'TIME','Timesheets','I');
v_count:= v_count+ sql%Rowcount;
dbms_output.put_line('No Of rows '||v_count);
commit;
end;

或者
如果要将数据插入同一张表,请使用组合的 insert语句,如下所示。
这将返回2行。
begin    
INSERT ALL
into APPLICATIONS (ID,ALIAS,NAME,STATUS)
values (1000000386,'BB','Branch Budgets','I')
into APPLICATIONS (ID,ALIAS,NAME,STATUS)
values (1000000257,'TIME','Timesheets','I')
SELECT * FROM dual;
dbms_output.put_line('No Of rows '||sql%Rowcount);
commit;
end;

关于sql - Oracle如何计算在plsql block 中插入的总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37563557/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com