dbms_output.put_line('No Of rows'||sql%Rowcount);
Dies gibt Ihnen die Gesamtzahl der Zeilen aktualisiert von letzten Anweisung. Selbst wenn Sie 10 Insert-Anweisungen auf diese Weise haben, erhalten Sie immer 1
als sql%rowcount
.
Verwenden Sie entweder 2 Ausgabenanweisungen, jeweils eine nach insert
Anweisungen, oder verwenden Sie eine Variable und fügen Sie die Anzahl der Zeilen hinzu, die aktualisiert wurden, und zeigen Sie sie schließlich an.
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;
ODER Wenn Sie Daten auf derselben Tabelle einfügen, verwenden, um eine kombinierte insert
Anweisung wie folgt. Dies wird 2 Zeilen zurückgeben.
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;
@arjun - Danke für die vorgeschlagene Bearbeitung. – Utsav
Danke - mein Netzwerk war ausgefallen, daher habe ich lange gebraucht um zu antworten –
Kein Problem. Akzeptieren Sie auch die Antworten auf die zuvor gestellte Frage, falls Sie dies noch nicht getan haben. Falls nicht richtig beantwortet wurde, bitte die Antwort so kommentieren, dass sie betrachtet werden kann. Vielen Dank! – Utsav