暗黙カーソルには、名前付きカーソルに関連付けられていない、直前に実行された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例外の処理」を参照してください。
例