(ページの作成: === 環境 === *DBMS : Oracle 10g === SQL%ROWCOUNT === PL/SQLで更新や削除した件数を取得するには、SQL%ROWCOUNTを参照する。 BEGIN UPDATE SCOTT.EMP ...)
 
 
20行目: 20行目:
 
*SQL%FOUND 1レコード以上返却した場合、真(TRUE)  
 
*SQL%FOUND 1レコード以上返却した場合、真(TRUE)  
 
*SQL%NOTFOUND レコード返却されなかった場合、真(TRUE)
 
*SQL%NOTFOUND レコード返却されなかった場合、真(TRUE)
 +
 +
[[Category:SQL]]

2013年4月20日 (土) 23:03時点における最新版

環境

  • 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