環境

  • DBMS : Oracle 10g

SQL%ROWCOUNT

PL/SQLで更新や削除した件数を取得するには、SQL%ROWCOUNTを参照する。

BEGIN 
 UPDATE SCOTT.EMP SET DEPTNO = 20 WHERE DEPTNO = 10;
 DBMS_OUTPUT.PUT_LINE('COUNT=' || SQL%ROWCOUNT);
 ROLLBACK;
END;
  • なぜか更新されない!←実は条件が間違っていて空振りしている…みたいな状況で、デバッグに使ってみた。
  • PL/SQLでしか使えないのが残念。
  • SELECT~で直前の影響レコード数、取得できないかなあ。


PL/SQLで使用できる仲間たち

  • SQL%ROWCOUNT 影響レコード数
  • SQL%FOUND 1レコード以上返却した場合、真(TRUE)
  • SQL%NOTFOUND レコード返却されなかった場合、真(TRUE)

facebook slideshare rubygems github qiita