-435   AN INVALID SQLSTATE sqlstate IS SPECIFIED IN A RAISE_ERROR FUNCTION, RESIGNAL STATEMENT, OR SIGNAL STATEMENT

説明

RAISE_ERROR 関数に指定されている SQLSTATE、あるいは、トリガーやルーチンの SIGNAL ステートメントに指定されている SQLSTATE が、 有効な SQLSTATE の規則に準拠していません。

システムの処置

このステートメントを処理することはできません。

プログラマーの応答

RAISE_ERROR 関数、RESIGNAL ステートメント、あるいは SIGNAL ステートメントに指定されている SQLSTATE を変更して、ステートメントの規則に準拠するようにしてください。

RAISE_ERROR 関数の場合、 SQLSTATE は、厳密に 5 文字の文字ストリングでなければなりません。それは、5 の長さで定義されているタイプ CHAR または 5 以上の長さで定義されている タイプ VARCHAR のものでなければなりません。 SQLSTATE 値は、次の規則に従っていなければなりません。
  • 各文字は、数字のセット (「0」から「9」まで) またはアクセント記号のない 大文字 (「A」から「Z」まで) からの文字でなければなりません。
  • SQLSTATE クラス (最初の 2 文字) は「00」、 「01」または「02」であってはなりません。これらの文字はエラー・クラスを示しません。
  • SQLSTATE クラス (最初の 2 文字) が文字「0」から「6」または「A」から「H」までの 文字で始まる場合、サブクラス (最後の 3 文字) は「I」から「Z」までの範囲にある 文字で始まらなければなりません。
  • SQLSTATE クラス (最初の 2 文字) が文字「7」、 「8」、「9」または「I」から「Z」までの 文字で始まる場合、サブクラス (最後の 3 文字) は「0」から「9」または「A」から「Z」まで文字セットの 文字でなければなりません。
RESIGNAL および SIGNAL ステートメントの場合、SQLSTATE 値は、以下の規則に従う、厳密な 5 文字でなければなりません。
  • 各文字は、「0」から「9」までの数字、または「A」から「Z」までのアクセント記号のない大文字でなければなりません。
  • SQLSTATE クラス (最初の 2 文字) は「00」であってはなりません。これは、正常終了を表すためです。

SQLSTATE

428B3