SQL0117N
割り当てられた値の数が、指定された列または変数の数、 または暗黙に指定されている列または変数の数と同じではありません。
説明
次のような場合、値の数が同じにならない可能性があります。
・INSERT ステートメントの値リスト内の挿入値の数が、明示的または 暗黙的に指定された列数と等しくありません。 列リストが指定されていない場合は、表またはビューのすべての列 (暗黙的に隠されているものを除く) の入った列リストが暗黙に指定されたものと見なされます。
・SET ステートメントまたは UPDATE ステートメントの SET 節の 割り当ての右側の値の数が、左側の列または変数の数と一致しま せん。
ステートメントは処理できません。
ユーザーの処置
ステートメントを修正して、指定した列または変数、または暗黙に指定されている列または変数ごとに 1 つの値を指定してください 。
コード
-
SQLCODE : -117
SQLSTATE : 42802
原因・対処例
INSERT時にテーブルの項目数とVALUES句の項目数が異なる場合。
項目数を一致させる。
例えば、以下のSQLを実行すると項目数に対しVALUES句の数が少ないのでエラーが発生します。
SQL> INSERT INTO MST_CUSTOMER (CUST_NO, CUST_NAME, CUST_ADDR) 2 VALUES(0100, '山下 あずみ'); 行 1 の近くでエラー: SQL0117N 割り当てられた値の数が、指定された列または変数の数、または暗黙に指定されている列または 変数の数と同じではありません。
VALUES句の項目数を合わせるとエラーは解消され、INSERTが実行できます。
特に項目名を省略した場合は、VALUESの項目数が表の項目数と一致するかを確認してください。
SQL> INSERT INTO MST_CUSTOMER (CUST_NO, CUST_NAME, CUST_ADDR) 2 VALUES(0100, '山下 あずみ', '茨城県xxxx'); DB250000I: コマンドは正常に完了しました。