用途
埋込みSQLプログラムの実行時にエラーまたは警告が発生した場合の処置を指定します。
前提条件
なし。
構文
キーワードおよびパラメータ
使用上の注意
WHENEVERディレクティブを使用すると、プログラムからエラー処理のルーチンに制御を移すことができます。これは埋込みSQ
L文でエラーまたは警告が発生したときに可能です。
WHENEVERディレクティブのスコープは論理的にではなく、位置的に適用されます。WHENEVER文は、プログラム論理の流れではなく、ソース・ファイル内で物理的に後続するすべての埋込みSQL文に適用されます。WHENEVERディレクティブは、同じ条件をチェックする別のWHENEVERディレクティブに置換されるまで有効です。
このディレクティブの詳細は、WHENEVERディレクティブの使用についてを参照してください。
埋込みSQLのWHENEVERディレクティブとSQL*PlusコマンドのWHENEVERディレクティブを混同しないでください。
例
次の2つの例では、埋込みSQLプログラムにおけるWHENEVERディレクティブの使用方法を示しています。
例1:
EXEC SQL WHENEVER NOT FOUND CONTINUE;
...
EXEC SQL WHENEVER SQLERROR GOTO sql_error;
...
sql_error:
EXEC SQL WHENEVER SQLERROR CONTINUE;
EXEC SQL ROLLBACK RELEASE;
...
例2:
EXEC SQL WHENEVER SQLERROR GOTO connect_error;
...
connect_error:
EXEC SQL WHENEVER SQLERROR CONTINUE;
EXEC SQL ROLLBACK RELEASE;
printf("\nInvalid username/password\n");
exit(1);
関連項目
なし。