Error Statement
ERROR
文は、プロシージャがエラー状態になったので中断することを宣言します。このステートメントは、現在のトランザクションが存在する場合、それをロールバックします。ERROR
キーワードの後には、有効な任意の式を指定できます。
Usage
|
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は、例外または例外式への変数参照でなければならず、結果の例外を親として連結されます。