Error Statement

ERROR文は、プロシージャがエラー状態になったので中断することを宣言します。このステートメントは、現在のトランザクションが存在する場合、それをロールバックします。ERRORキーワードの後には、有効な任意の式を指定できます。

Usage

ERROR message;

Example

BEGIN
...
ERROR 'Invalid input value: ' || nvl(Acct.GetBalance.AcctID, 'null');
END


ERROR文は以下の文と同じです:

RAISE SQLEXCEPTION message;

Raise Statement

RAISE文は、例外や警告を発生させるために使用されます。例外を発生させる場合、このステートメントは、現在のトランザクションが存在する場合は、そのトランザクションもロールバックします。

Usage

RAISE [SQLWARNING] exception;

exceptionは、例外または例外式への変数参照です。

Syntax

  • SQLWARNINGが指定された場合、例外は警告としてクライアントに送信され、プロシージャは実行を続行します;
  • NULL警告は無視されます。NULL の非警告例外でも例外は発生します。


Example

BEGIN
RAISE SQLWARNING SQLEXCEPTION 'invalid' SQLSTATE '05000';
END

Exception Expression

例外式は例外を発生させ、警告として使用することができます。

Usage

SQLEXCEPTION message [SQLSTATE state [, code]] CHAIN exception

Syntax

  • いずれの値もnull となる場合があります;
  • MessageとStateはそれぞれ例外メッセージとSQLの状態を指定する文字列式です。CData Virtuality Server はまだ SQL ステート使用に関する ANSI SQL 仕様に完全には準拠していませんが、任意の SQL ステートを設定することができます;
  • Code はベンダーコードを表す整数式です;
  • Exceptionは、例外または例外式への変数参照でなければならず、結果の例外を親として連結されます。