SQL%ROWCOUNT的簡要說明

feelpurple發表於2015-11-24
SQL%ROWCOUNT可以用在PL/SQL中,用於顯示SELECT或DML語句執行了多少行。

下面是11g文件中的描述。

SQL%ROWCOUNT Attribute: How Many Rows Were Affected?
SQL%ROWCOUNT returns:
NULL if no SELECT or DML statement has run
Otherwise, the number of rows returned by a SELECT statement or affected by a DML statement

透過一個簡單的匿名塊,來進行測試。

SQL> select * from test;
         A          B
---------- ----------
   1494928        599
   1626437        681
   1620661        694
   1510847        684
   1838501        774
   1598577        658
   1683504        725

已選擇7行。

SQL> set serveroutput on
SQL> show serveroutput
serveroutput ON SIZE UNLIMITED FORMAT WORD_WRAPPED
SQL> declare
  2  begin
  3    delete from test;
  4    dbms_output.put_line(SQL%ROWCOUNT);
  5    rollback;
  6    delete from test where a = 1494928;
  7    dbms_output.put_line(SQL%ROWCOUNT);
  8    rollback;
  9    delete from test where a = 100;
 10    dbms_output.put_line(SQL%ROWCOUNT);
 11    rollback;
 12  end;
 13  /
7
1
0

PL/SQL 過程已成功完成。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-1845365/,如需轉載,請註明出處,否則將追究法律責任。

相關文章