[oracle][plsql]カーソル属性

  備忘録
【注意】
この記事は過去に別サイトで執筆したものを再掲載したものです。
内容が古くなっていて現在では適用できない場合や、もっと良い方法が出来ている場合があります。
 

明示カーソルのカーソル属性では、直前のFETCHに対して、行が取り出せたか否か、これまでに取り出された行数、カーソルのオープン状態などを得ることができる。

%NOTFOUND直前のFETCHで行を取り出せた場合はFALSE、取り出せた場合はTRUEを返す。
%FOUND%NOTFOUNDの逆論理を返す。
%ROWCOUNTこれまでに取り出した行数を返す。(FETCH回数)
%ISOPENカーソルのオープン状態を返す。オープンしているときはTRUE。

<カーソル変数>%NOTFOUND のように参照する。

明示的にカーソルを使っていない場合(暗黙カーソル)のカーソル属性では、直前に実行したDML文が影響を与えた行数、SELECT文の取得件数などを得ることができる。

%NOTFOUND直前のDML文(INSERTやUPDATEやDELETE)が何も影響を与えなかった場合、TRUEを返す。
または、直前のSELECT文がなにも取得できなかった場合、TRUEを返す。
%FOUND%NOTFOUNDの逆論理を返す。
%ROWCOUNT直前のDML文が影響を与えた行数を返す。または、SELECT文が取得出来た行数を返す。
%ISOPEN常にFALSEを返す。

SQL%NOTFOUNDのように参照する。

LEAVE A COMMENT