我想不计入数据库的插入次数
尽管更新了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/