13.37 暗黙カーソル属性

暗黙カーソルには、名前付きカーソルに関連付けられていない、直前に実行されたSELECT文またはDML文の情報を戻す属性があります。

注意:

カーソル属性は、プロシージャ文でのみ使用でき、SQL文では使用できません。

ここでのトピック

構文

implicit_cursor_attribute ::=

セマンティクス

%ISOPEN

SQL%ISOPENの値は常にFALSEです。

%FOUND

SQL%FOUNDの値は次のうちの1つです。

  • SELECT文もDML文も実行されない場合は、NULL

  • 直前に実行されたSELECT文またはDML文が行を戻した場合は、TRUE

  • 直前に実行されたSELECT文またはDML文が行を戻さなかった場合は、FALSE

%NOTFOUND

SQL%NOTFOUNDの値は次のうちの1つです。

  • SELECT文もDML文も実行されない場合は、NULL

  • 直前に実行されたSELECT文またはDML文が行を戻した場合は、FALSE

  • 直前に実行されたSELECT文またはDML文が行を戻さなかった場合は、TRUE

%ROWCOUNT

SQL%ROWCOUNTの値は次のうちの1つです。

  • SELECT文もDML文も実行されない場合は、NULL

  • SELECT文またはDML文が実行されていれば、これまでにフェッチされた行数。

SQL%BULK_ROWCOUNT

連想配列のような複合属性で、そのi番目の要素には、直前に完了したFORALL文内のi番目のDML文によって影響を受けた行の数が含まれます。詳細は、「FORALLによる影響を受ける行の数」を参照してください。

SQL%BULK_ROWCOUNTの制限

SQL%BULK_ROWCOUNT(index)の値を他のコレクションに代入することはできません。

SQL%BULK_EXCEPTIONS

直前のFORALL文の実行中に失敗したDML文についての情報を示す連想配列のような複合属性です。SQL%BULK_EXCEPTIONS.COUNTは、失敗したDML文の数です。SQL%BULK_EXCEPTIONS.COUNTが0(ゼロ)でない場合、1からSQL%BULK_EXCEPTIONS. COUNTまでの各索引値iに対して、次のようになります。

  • SQL%BULK_EXCEPTIONS(i).ERROR_INDEXは、失敗したDML文の数です。

  • SQL%BULK_EXCEPTIONS(i).ERROR_CODEは、失敗に関するOracle Databaseエラー・コードです。

通常、この属性は、SAVE EXCEPTIONS句を使用するFORALL文の例外ハンドラで使用されます。詳細は、「FORALL文が完了した後のFORALL例外の処理」を参照してください。

  • 例6-3SQL%FOUND暗黙カーソル属性

  • 例6-4SQL%ROWCOUNT暗黙カーソル属性

  • 例6-15%FOUND明示カーソル属性

  • 例6-14%ISOPEN明示カーソル属性

  • 例6-16%NOTFOUND明示カーソル属性

  • 例6-17%ROWCOUNT明示カーソル属性

  • 例12-13FORALL文が完了した後のFORALL例外の処理

  • 例12-14FORALLの各DELETEで影響を受けた行の数の表示

  • 例12-15FORALLの各INSERT SELECTで影響を受けた行の数の表示