dbms_output.put_line('No Of rows'||sql%Rowcount);
Это даст вам общее количество строк, обновленных оператором last . Таким образом, даже если у вас есть 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;