sql%rowcount用於記錄修改的條數,就如你在sqlplus下執行delete from以後提示已刪除xx行同樣, 這個參數必需要在一個修改語句和commit之間放置,不然你就得不到正確的修改行數。sql
例如:
SQL> declare n number;
2 begin
3 insert into test_a select level lv from dual connect by level<500;
4 n:=sql%rowcount;
5 commit;
6 dbms_output.put_line(n);
7 end;
8 /
499
PL/SQL procedure successfully completed.
SQL> declare n number;
2 begin
3 insert into test_a select level lv from dual connect by level<500;
4 commit;
5 n:=sql%rowcount;
6 dbms_output.put_line(n);
7 end;
8 /
0
PL/SQL procedure successfully completed.
×××××××××××××it
若是我連續執行了3個select語句
而後調用sql%rowcount,獲得的結果是最後一個select的條數。 要統計全部的,能夠使用三個變量接收sql%rowcount,而後相加便可,不過貌似直接select的寫法沒法使用sql%rowcount。test