SQLSTATEコード

Spark SQLによって返されるほとんどのエラークラスは、5文字のSQLSTATEに関連付けられています。SQLSTATEは、JDBCODBC、その他のクライアントAPIで一般的に使用されるエラー条件のSQL標準エンコーディングです。

SQLSTATEは、2文字のクラスと3文字のサブクラスの2つの部分で構成されています。各文字は、数字の'0'から'9'または'A'から'Z'である必要があります。

多くのSQLSTATEの値はSQL標準によって規定されていますが、Spark固有の業界で一般的なものもあります。

エラークラスの順序付きリストについては、以下を参照してください:Spark SQLのエラー条件

Spark SQLは、次のSQLSTATEクラスを使用します

クラス0A: サポートされていない機能

SQLSTATE説明と発行されるエラークラス
0A000 サポートされていない機能
INVALID_PANDAS_UDF_PLACEMENT, STAR_GROUP_BY_POS, UNSUPPORTED_ARROWTYPE, UNSUPPORTED_DATATYPE, UNSUPPORTED_DESERIALIZER, UNSUPPORTED_FEATURE, UNSUPPORTED_GENERATOR, UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY, UNSUPPORTED_TYPED_LITERAL

クラス21: カーディナリティ違反

SQLSTATE説明と発行されるエラークラス
21000 カーディナリティ違反
SCALAR_SUBQUERY_TOO_MANY_ROWS

クラス22: データ例外

SQLSTATE説明と発行されるエラークラス
22003 数値が範囲外
ARITHMETIC_OVERFLOW, CAST_OVERFLOW, CAST_OVERFLOW_IN_TABLE_INSERT, DECIMAL_PRECISION_EXCEEDS_MAX_PRECISION, INVALID_INDEX_OF_ZERO, INCORRECT_END_OFFSET, INCORRECT_RAMP_UP_RATE, INVALID_ARRAY_INDEX, INVALID_ARRAY_INDEX_IN_ELEMENT_AT, NUMERIC_OUT_OF_SUPPORTED_RANGE, NUMERIC_VALUE_OUT_OF_RANGE
22007 無効な日時形式
CANNOT_PARSE_TIMESTAMP
22008 日時フィールドのオーバーフロー
DATETIME_OVERFLOW
2200E 配列ターゲットのNULL値
NULL_MAP_KEY
22012 ゼロ除算
DIVIDE_BY_ZERO, INTERVAL_DIVIDED_BY_ZERO
22015 間隔フィールドのオーバーフロー
INTERVAL_ARITHMETIC_OVERFLOW
22018 キャストの無効な文字値
CANNOT_PARSE_DECIMAL, CAST_INVALID_INPUT, CONVERSION_INVALID_INPUT
22023 無効なパラメータ値
INVALID_FRACTION_OF_SECOND, INVALID_PARAMETER_VALUE, SECOND_FUNCTION_ARGUMENT_NOT_INTEGER
22032 無効なJSONテキスト
INVALID_JSON_ROOT_FIELD, INVALID_JSON_SCHEMA_MAP_TYPE
2203G sql_json_item_cannot_be_cast_to_target_type
CANNOT_PARSE_JSON_FIELD
22546 ルーチン引数の値が無効です。
CANNOT_DECODE_URL

クラス23: 整合性制約違反

SQLSTATE説明と発行されるエラークラス
23505 一意のインデックスまたは一意制約によって課せられた制約の違反が発生しました。
DUPLICATED_MAP_KEY, DUPLICATE_KEY

クラス2B: 依存権限記述子がまだ存在します

SQLSTATE説明と発行されるエラークラス
2BP01 dependent_objects_still_exist
SCHEMA_NOT_EMPTY

クラス38: 外部ルーチン例外

SQLSTATE説明と発行されるエラークラス
38000 外部ルーチン例外
FAILED_FUNCTION_CALL

クラス39: 外部ルーチン呼び出し例外

SQLSTATE説明と発行されるエラークラス
39000 外部ルーチン呼び出し例外
FAILED_EXECUTE_UDF

クラス42: 構文エラーまたはアクセスルール違反

SQLSTATE説明と発行されるエラークラス
42000 構文エラーまたはアクセスルール違反
AMBIGUOUS_REFERENCE_TO_FIELDS, INVALID_COLUMN_OR_FIELD_DATA_TYPE, INVALID_EXTRACT_BASE_FIELD_TYPE, INVALID_EXTRACT_FIELD_TYPE, INVALID_FIELD_NAME, INVALID_SET_SYNTAX, INVALID_SQL_SYNTAX, NON_PARTITION_COLUMN, NOT_NULL_CONSTRAINT_VIOLATION, NULLABLE_COLUMN_OR_FIELD, NULLABLE_ROW_ID_ATTRIBUTES
42601 文字、トークン、または句が無効であるか、欠落しています。
IDENTIFIER_TOO_MANY_NAME_PARTS, INVALID_EXTRACT_FIELD, INVALID_FORMAT, PARSE_SYNTAX_ERROR, UNCLOSED_BRACKETED_COMMENT
42602 名前に無効な文字が検出されました。
INVALID_IDENTIFIER, INVALID_PROPERTY_KEY, INVALID_PROPERTY_VALUE
42604 無効な数値定数または文字列定数が検出されました。
EMPTY_JSON_FIELD_VALUE, INVALID_TYPED_LITERAL
42605 スカラ関数に指定された引数の数が無効です。
WRONG_NUM_ARGS
42607 集計関数またはCONCAT演算子のオペランドが無効です。
NESTED_AGGREGATE_FUNCTION
42613 句は相互に排他的です。
INCOMPATIBLE_JOIN_TYPES, INVALID_LATERAL_JOIN_TYPE, NON_LAST_MATCHED_CLAUSE_OMIT_CONDITION, NON_LAST_NOT_MATCHED_BY_SOURCE_CLAUSE_OMIT_CONDITION, NON_LAST_NOT_MATCHED_BY_TARGET_CLAUSE_OMIT_CONDITION
42614 重複したキーワードまたは句が無効です。
REPEATED_CLAUSE
42617 ステートメント文字列が空白または空です。
PARSE_EMPTY_STATEMENT
42702 重複した名前のため、列参照があいまいです。
AMBIGUOUS_COLUMN_OR_FIELD, AMBIGUOUS_LATERAL_COLUMN_ALIAS
42703 未定義の列またはパラメータ名が検出されました。
COLUMN_NOT_FOUND, UNRESOLVED_COLUMN, UNRESOLVED_FIELD, UNRESOLVED_MAP_KEY, UNRESOLVED_USING_COLUMN_FOR_JOIN
42704 未定義のオブジェクトまたは制約名が検出されました。
AMBIGUOUS_REFERENCE, DEFAULT_DATABASE_NOT_EXISTS, FIELD_NOT_FOUND, INDEX_NOT_FOUND, SCHEMA_NOT_FOUND, UNRECOGNIZED_SQL_TYPE
42710 重複したオブジェクトまたは制約名が検出されました。
CREATE_TABLE_COLUMN_OPTION_DUPLICATE, INDEX_ALREADY_EXISTS, LOCATION_ALREADY_EXISTS
42711 オブジェクト定義またはALTER TABLEステートメントで重複した列名が検出されました。
COLUMN_ALREADY_EXISTS
42723 同じシグネチャを持つルーチンが、定義されているスキーマ、モジュール、または複合ブロックにすでに存在します。
ROUTINE_ALREADY_EXISTS
42803 SELECT句またはHAVING句の列参照は、グループ化列ではないため無効です。または、GROUP BY句の列参照が無効です。
GROUPING_COLUMN_MISMATCH, GROUPING_ID_COLUMN_MISMATCH, MISSING_AGGREGATION, MISSING_GROUP_BY, UNRESOLVED_ALL_IN_GROUP_BY
42805 ORDER BY句の整数は、結果テーブルの列を識別しません。
GROUP_BY_POS_OUT_OF_RANGE, ORDER_BY_POS_OUT_OF_RANGE
42809 識別されたオブジェクトは、ステートメントが適用されるオブジェクトのタイプではありません。
FORBIDDEN_OPERATION
42818 演算子または関数のオペランドは互換性がないか、比較できません。
INCOMPARABLE_PIVOT_COLUMN
42823 1つの列のみを許可するサブクエリから複数の列が返されます。
INVALID_SUBQUERY_EXPRESSION
42825 UNION、INTERSECT、EXCEPT、またはVALUESの行に互換性のある列がありません。
CANNOT_MERGE_INCOMPATIBLE_DATA_TYPE, INCOMPATIBLE_COLUMN_TYPE
42826 UNION、INTERSECT、EXCEPT、またはVALUESの行の列数が同じではありません。
NUM_COLUMNS_MISMATCH
42846 ソース型からターゲット型へのキャストはサポートされていません。
CANNOT_CAST_DATATYPE
42883 一致するシグネチャを持つルーチンが見つかりませんでした。
ROUTINE_NOT_FOUND, UNRESOLVED_ROUTINE
428C4 述語演算子の両側の要素数が一致しません。
UNPIVOT_VALUE_SIZE_MISMATCH
428EK スキーマ修飾子が有効ではありません。
TEMP_VIEW_NAME_TOO_MANY_NAME_PARTS
428FT CREATEまたはALTERで指定されたパーティション句が無効です。
PARTITIONS_ALREADY_EXIST, PARTITIONS_NOT_FOUND
42903 集計関数またはOLAP関数の使い方が無効です。
GROUP_BY_AGGREGATE, GROUP_BY_POS_AGGREGATE, INVALID_WHERE_CONDITION
429BB 列、パラメータ、またはSQL変数のデータ型がサポートされていません。
CANNOT_RECOGNIZE_HIVE_TYPE
42K01 データ型が完全に指定されていません
DATATYPE_MISSING_SIZE, INCOMPLETE_TYPE_DEFINITION
42K02 データソースが見つかりません
DATA_SOURCE_NOT_FOUND
42K03 ファイルが見つかりません
PATH_NOT_FOUND, RENAME_SRC_PATH_NOT_FOUND
42K04 重複したファイル
FAILED_RENAME_PATH, PATH_ALREADY_EXISTS
42K05 名前が無効です
INVALID_EMPTY_LOCATION, REQUIRES_SINGLE_PART_NAMESPACE
42K06 オプションの型が無効です
INVALID_OPTIONS
42K07 有効なスキーマリテラルではありません
INVALID_SCHEMA
42K08 定数ではありません
NON_LITERAL_PIVOT_VALUES
42K09 データ型の不一致
DATATYPE_MISMATCH, PIVOT_VALUE_DATA_TYPE_MISMATCH, UNEXPECTED_INPUT_TYPE, UNPIVOT_VALUE_DATA_TYPE_MISMATCH
42K0A 無効なUNPIVOT句
UNPIVOT_REQUIRES_ATTRIBUTES, UNPIVOT_REQUIRES_VALUE_COLUMNS
42K0B レガシー機能がブロックされました
INCONSISTENT_BEHAVIOR_CROSS_VERSION
42KD9 テーブルスキーマを推論できません。
UNABLE_TO_INFER_SCHEMA
42P01 未定義のテーブル
TABLE_OR_VIEW_NOT_FOUND, VIEW_NOT_FOUND
42P02 未定義のパラメータ
UNBOUND_SQL_PARAMETER
42P06 重複したスキーマ
SCHEMA_ALREADY_EXISTS
42P07 重複したテーブル
TABLE_OR_VIEW_ALREADY_EXISTS, TEMP_TABLE_OR_VIEW_ALREADY_EXISTS, VIEW_ALREADY_EXISTS
42P20 ウィンドウ処理エラー
UNSUPPORTED_EXPR_FOR_WINDOW

クラス 46: java ddl 1

SQLSTATE説明と発行されるエラークラス
46110 サポートされていない機能
CANNOT_MODIFY_CONFIG
46121 無効な列名
INVALID_COLUMN_NAME_AS_PATH

クラス 53: リソース不足

SQLSTATE説明と発行されるエラークラス
53200 メモリ不足
UNABLE_TO_ACQUIRE_MEMORY

クラス 54: プログラム制限超過

SQLSTATE説明と発行されるエラークラス
54000 プログラム制限超過
GROUPING_SIZE_LIMIT_EXCEEDED, TOO_MANY_ARRAY_ELEMENTS

クラス HY: CLI固有の条件

SQLSTATE説明と発行されるエラークラス
HY008 操作がキャンセルされました
OPERATION_CANCELED

クラス XX: 内部エラー

SQLSTATE説明と発行されるエラークラス
XX000 内部エラー
INTERNAL_ERROR