SQL0000W ステートメントの処理が正常に終了しました。
説明
警告状態が発生していなければ、SQL ステートメントは正常に処理されました。
ユーザー応答
SQLWARN0 をチェックして、ブランクであることを確認してください。 ブランクの場合は、ステートメントが正常に実行されています。 ブランクでない場合は、警告が発生しています。 他の警告標識をチェックして、特定の警告状態を判別してください。 たとえば、SQLWARN1 がブランクでない場合は、ストリングが切り捨てられています。
sqlcode: 0
sqlstate: 00000、01003、01004、01503、01504、01506、01509、01517
SQL0001N バインディングまたはプリコンパイルが正常に完了しませんでした。
説明
前のメッセージ中に示された理由のために、バインドまたは プリコンパイル要求が失敗しました。
パッケージは作成されません。
ユーザー応答
メッセージ・ファイル内のメッセージを参照してください。 コマンドを再サブミットしてください。
サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。
SQL0002N バインド・ファイル名が無効です。
説明
前のメッセージ中に示された理由のために、指定された バインド・ファイル名を使用できません。
パッケージは作成されません。
ユーザー応答
メッセージ・ファイル内のメッセージを参照してください。 コマンドを再サブミットしてください。
サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。
SQL0003N データベース名が有効ではありません。
説明
前のメッセージ中に示された理由のために、指定された データベース名を使用できません。
パッケージは作成されません。
ユーザー応答
メッセージ・ファイル内のメッセージを参照してください。 コマンドを再サブミットしてください。
SQL0004N パスワードが有効ではありません。
説明
パスワードに無効な文字が入っているか、またはパスワードが 長すぎます。
パッケージは作成されません。
ユーザー応答
有効なパスワードを指定して、コマンドを再サブミットしてください。
SQL0005N メッセージ・ファイル名が無効です。
説明
前のメッセージ中に示された理由のために、指定された メッセージ・ファイル名を使用できません。
パッケージは作成されません。
ユーザー応答
メッセージ・ファイル内のメッセージを参照してください。 メッセージ・ファイルの名前をチェックしてください。 メッセージ・ファイルがある場合にはその属性をチェックしてください。 コマンドを再サブミットしてください。
SQL0006N 日付/時刻形式パラメーターが無効です。
説明
datetime format パラメーターの値が 0 から 3 の有効な範囲内に ありません。
パッケージは作成されません。
ユーザー応答
有効な format パラメーターを指定して、コマンドを再サブミットしてください。
SQL0007N SQL ステートメントでサポートされていない文字が SQL ステートメントに含まれていたため、ステートメントは処理されませんでした。 無効文字: character。 無効文字の前にあるテキスト: text。
説明
指定された文字は、SQL ステートメントでは有効な文字では ありません。 text ランタイム・トークンは、SQL ステートメントのうち無効な文字の前にある 20 文字を示します。
フェデレーテッド・システム・ユーザーの場合: データ・ソースによっては、ランタイム・トークン character および text の適切な値が提供されないことがあります。 そのような場合、character と text の形式は "<data source>:UNKNOWN" になります。指定のデータ・ソースの実際の値は不明だという意味です。
ユーザー応答
無効な文字を削除または置換した後、ステートメントを再実行依頼します。
sqlcode: -7
sqlstate: 42601
SQL0008N ホスト変数宣言で検出されたトークン token が無効です。
説明
ホスト変数宣言に構文の誤りがあります。 プリコンパイラーがホスト変数を識別できません。
ステートメントは処理できません。 ステートメント (セミコロンまで) で宣言された すべてのホスト変数が受け付けられません。
ユーザー応答
ホスト変数宣言の構文を確認してください。
SQL0009W プリコンパイル・オプションをオーバーライドしようとしましたが、無視されました。
説明
プリコンパイラー・オプションのオーバーライドが試みられました。
このオプションは無視されます。
ユーザー応答
すべてのプリコンパイラー・オプションが正しく指定されていることを 確認してください。
SQL0010N string で始まるストリング定数には、終了ストリング区切り文字がありません。
説明
ステートメントに、string で始まるストリング定数が 入っていますが、正しく終了していません。
ステートメントは処理できません。
ユーザー応答
ステートメントを調べて、示されているストリング定数に アポストロフィが抜けていないことを確認してください。
sqlcode: -10
sqlstate: 42603
SQL0011N コメントが終了していません。
説明
コメントが正しく終了していません。
ステートメントは処理できません。
ユーザー応答
ステートメントを調べて、示されているコメントに区切り文字が抜けて いないこと、または余分な区切り文字がないことを確認してください。
SQL0012W 列 columnで修飾なしの相関が発生しました。
説明
示された列は SELECT ステートメント中にありますが、明示的に 修飾されておらず、外部の SELECT ステートメントの FROM 節に 指定されている表にあります。 したがって、SELECT ステートメントの列に対する参照は 外部参照と見なされ、相関が発生します。
ステートメントは、相関が指定されたものとして処理されました。
ユーザー応答
相関が必要であることを確認してください。 外部参照を用いるときには、必ず明示的に修飾してください。
sqlcode: +12
sqlstate: 01545
SQL0013N 空の区切り ID は無効です。
説明
プリコンパイル時に、空のストリングとして 指定された、カーソル名、ステートメント名、データベース名、または 許可 ID が見つかりました。 これは無効です。 ステートメントは処理できません。
ユーザー応答
有効なカーソル名、ステートメント名、データベース名、または 許可 ID を指定してください。
SQL0014N ソース・ファイル名が無効です。
説明
プリコンパイラーの呼び出しに指定したソース・ファイル名に 無効な文字が入っているか、またはソース・ファイル名へのポインターが 無効です。
パッケージは作成されませんでした。
ユーザー応答
正しいソース・ファイル名を使用してください。
SQL0015N ホスト変数データ・タイプ token-1 が無効です。 代わりに token-2 を使用してください。
説明
WCHARTYPE CONVERT プリコンパイル・オプションが有効な場合には、GRAPHIC ホスト変数はデータ・タイプ 'sqldbchar'ではなく、'wchar_t'で宣言され ていなければなりません。
WCHARTYPE NOCONVERT プリコンパイル・オプションが有効で (デフォルト) 、'wchar_t' がこのプラットフォームに 4 バイト整数として定 義されている場合には、GRAPHIC ホスト変数はデータ・タイプ 'wchar_t'ではなく 、'sqldbchar'で宣言されていなければなりません。
ユーザー応答
ホスト変数の現行のデータ・タイプを、メッセージに指定されたデータ・タイ プと置き換えてください。
SQL0017N RETURN ステートメントは、SQL 関数またはメソッドで指定して実行する必要があります。
説明
SQL 関数またはメソッドが RETURN ステートメントを含んでいないか、 あるいは関数またはメソッドが RETURN ステートメントの実行を終了していませんでした。
ユーザー応答
関数またはメソッドが RETURN ステートメントを実行していることを確認してください。
sqlcode: -17
sqlstate: 42632
SQL0020W 次のリストのバインドまたはプリコンパイル・コマンド・パラメーターまたはパラメーター値は、ターゲット・データベースでサポートされていないため、無視されました: parameter-names-or-values。
説明
BIND コマンドを使用して、プリコンパイラーによって生成されたバインド・ファイルに保管されている SQL ステートメントを準備し、データベース内にパッケージを作成することができます。 PRECOMPILE コマンドを使用して、組み込み SQL ステートメントが入ったアプリケーション・プログラムのソース・ファイルを処理し、データベース内にパッケージを作成できます。
この警告は次の状況の場合に返されます。
- PRECOMPILE コマンドまたは BIND コマンドのいずれかで指定された 1 つ以上のパラメーターが、ターゲット・データベース・サーバーによってサポートされていない。
- PRECOMPILE コマンドまたは BIND コマンドのいずれかで指定された 1 つ以上のパラメーターに指定された値が、ターゲット・データベース・サーバーによってサポートされていない。
ユーザー応答
ターゲット・データベース・サーバーによってサポートされているパラメーターおよび値を指定して、BIND コマンドまたは PRECOMPILE コマンドをもう一度実行してください。
SQL0021W 無効なプリコンパイラー・オプション option は無視されます。
説明
メッセージに示されたオプションは、有効なプリコンパイラー・オプシ ョンではありません。このオプションは無視されます。
ユーザー応答
すべてのプリコンパイラー・オプションが正しく指定されていることを 確認してください。SQL0022W 「重複プリコンパイラー・オプション」 オプション は無視されます。
説明
プリコンパイラー・オプション option が 重複しています。
このオプションは無視されます。
ユーザー応答
すべてのプリコンパイラー・オプションが 1 回だけ指定されていることを 確認してください。
SQL0023N データベース名が有効ではありません。
説明
指定されたデータベース名は、有効な名前ではありません。
プリコンパイルは終了します。
ユーザー応答
データベース名のつづりが正しく、短 ID の規則にしたがっていることを 確認してください。
SQL0024N データベース名が指定されていません。
説明
プリコンパイル時にデータベース名が指定されていませんでした。
プリコンパイルは終了します。
ユーザー応答
データベース名を指定してください。
SQL0025W バインディングまたはプリコンパイルが完了しましたが、警告が出されました。
説明
バインドまたはプリコンパイルは成功しましたが、警告が出されました。 パッケージとバインド・ファイルのいずれか、または両方が、コマンドで要求された通りに作成されました。
ユーザー応答
メッセージ・ファイル内のメッセージを参照してください。 必要に応じて、問題を訂正してコマンドを再サブミットしてください。
SQL0026N パスワードが有効ではありません。
説明
指定されたパスワードは、有効なパスワードではありません。
プリコンパイルは終了します。
ユーザー応答
指定したパスワードが、パスワードの規則にしたがっていることを 確認してください。
SQL0028C バインド・ファイルのリリース番号が有効ではありません。
説明
バインド・ファイルのリリース番号が、インストールされているバージョンの データベース・マネージャーのリリース番号と互換ではありません。
このバインド・ファイルは、現行バージョンのデータベース・マネージャーでは 使用できません。 コマンドは処理されません。
ユーザー応答
可能であれば、現在のデータベース・マネージャーを使用して、プリコンパイル処理を繰り返してください。 または、互換リリース・レベルのデータベース・マネージャーで 作成されたバインド・ファイルのみを使用してください。
SQL0029N INTO 節が必要です。
説明
アプリケーション・プログラムに組み込まれている 非カーソル SELECT または VALUES ステートメントには、ステートメントの 結果を入れる場所を指示するための INTO 節が必要です。 動的 SELECT ステートメントには、INTO 節を使用できません。
ユーザー応答
INTO 節を SELECT または VALUES ステートメントに 追加して、もう一度アプリケーション・プログラムをプリコンパイルしてください。
sqlcode: -29
sqlstate: 42601
SQL0030N ソース・ファイル名が指定されていません。
説明
プリコンパイル時にソース・ファイル名が指定されていませんでした。
プリコンパイルは終了します。
ユーザー応答
ソース・ファイル名を指定してください。
SQL0031C ファイル name をオープンできませんでした。
説明
ファイル name が指定されていますが、オープンできませんでした。
プリコンパイルは終了します。
ユーザー応答
示されたファイル名が正しく、ファイル・システム内に存在し、ファイル許可が 正しいことを確認してください。
サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。 エラーが続く場合は、データベース・マネージャーを再インストールした後に、サンプル・データベースをインストールしてください。
SQL0032C ファイル nameを使用できません。
説明
ファイル name の読み取りまたは書き込み中に、エラーが起きました。
プリコンパイルは終了します。
ユーザー応答
もう一度プリコンパイルしてください。
SQL0033N name は有効なバインド・ファイルではありません。
説明
示されたバインド・ファイル name が、有効なバインド・ファイルではありません。
バインドは終了します。
ユーザー応答
正しいファイル名が指定されていることを確認してください。
SQL0034N バインド・ファイル名が指定されていません。
説明
バインド時にバインド・ファイル名が指定されていませんでした。
バインドは終了します。
ユーザー応答
バインド・ファイル名を指定してください。
SQL0035N ファイル name をオープンできません。
説明
メッセージ・ファイル name がオープンできませんでした。
バインドまたはプリコンパイルは終了しました。
ユーザー応答
システムがそのファイルにアクセスできることを確認してください。
SQL0036N ファイル名 name の構文が有効ではありません。
説明
ファイルがプリコンパイラーへの入力の場合は、使用する言語に対する 正しい拡張子を持っている必要があります。 ファイルがバインド・プログラムへの入力の場合は、拡張子 .bnd を 持っている必要があります。 また、プラットフォームの最大長を超える完全に解決されたファイル名も、このエラーの原因となります。
プリコンパイルまたはバインドは終了します。
ユーザー応答
示されたファイル名が正しいことを確認してください。
SQL0037W メッセージ・ファイル name の構文が有効ではありません。
説明
メッセージ・ファイル名 name は、この関数に対して 構文的に正しくありません。
システムは出力を標準出力装置に切り替えます。
ユーザー応答
示されたファイル名が正しいことを確認してください。
SQL0038W バインド・オプション SQLERROR CONTINUE は、この DB2-supplied リスト・ファイルを DB2/MVS、 SQL/DS、または OS/400にバインドするときに必要なため、活動化されました。
説明
- ddcsmvs.lst
- ddcsvm.lst
- ddcsvse.lst
- ddcs400.lst
このオプションは、バインド・ファイルに SQL ステートメントがある場合 にも、これを無効と見なすために、DRDA サーバーにパッケージの作成を指示します。 すべての DRDA サーバーが DB2 提供リスト・ファイルに入っているすべての SQL ステートメントをサポートしていないので、リスト・ファイルのすべての バインド・ファイルに対してパッケージが作成されるように保証するためには 、SQLERROR CONTINUE BIND オプションを使用しなければなりません。
ユーザー応答
応答は不要です。 必要な BIND オプション SQLERROR CONTINUE が指定されています。 今後、この警告の受信を回避するためには、SQLERROR CONTINUE BIND オプションを指定してください。
SQL0039N バインド・ファイルが無効であるため、バインダーは処理を終了しませんでした。
説明
バインド・プログラムがバインド・ファイルを処理できませんでした。 バインド・ファイルの内容が偶発的に変更されたため、そのバインド・ファイルは 無効となっている可能性があります。
バインド・ファイルは処理されません。
ユーザー応答
可能であれば、新しいバインド・ファイルを作成するために、プリコンパイル処理を繰り返してください。 または、バインド・ファイルの新しいコピーを取得してください。
SQL0040N リスト name内の 1 つ以上のバインド・ファイルでエラーが発生しました。 次のファイルはバインドされていません: list。
説明
メッセージ・ファイル内の前のメッセージに示された理由のため、1 つ以上のバインド・ファイルがバインドされませんでした。 バインドされなかったファイルのリストは 1 から始まる数字で構成されており、その数字はリスト・ファイル内のバインドされなかったファイルの相対位置を示します。 name には、リスト・ファイルのパス情報が 入っていません。
メッセージには、エラーがあった最初の 20 個のバインド・ファイルしか リストされません。 20 より多いバインド・ファイルにエラーがあった場合は、リストの最後のバインド・ファイル名の後に、省略符号 (...) が挿入されます。
作成されなかったパッケージがあります。
ユーザー応答
メッセージ・ファイル内のメッセージを参照してください。 リスト・ファイルをチェックして、有効な名前が入っていることを 確認してください。 コマンドを再サブミットしてください。
SQL0041N 処理を終了する致命的エラーが発生したため、リスト name 内のファイル番号 number に続くファイルをバインドしようとしませんでした。
説明
バインド処理中の一部のエラーは致命的なエラー (すなわち、 システム・エラーまたはメモリー・エラー) と考えられます。 リスト・ファイルのファイルの処理中にこれらのエラーの 1 つが発生した場合には、処理は終了されます。 リスト・ファイルの残りのファイルをバインドする試みは行われません。
リスト内で指定されたバインド・ファイルをバインド中に、このようなエラーが発生しました。 バインド・ファイルの識別に使用される数字が、 リスト・ファイルのファイルの相対位置を示していることに注意してください。
ユーザー応答
発生したエラーを解決するためには、これに伴って出されたその他のメッセージを参照してください。 コマンドを再サブミットしてください。
SQL0051N 単一プログラムのすべての SQL ステートメントを保持するために必要なスペースが、許容最大値を超えました。
説明
プログラムに必要なすべての SQL ステートメントに 必要なスペースが、SYSIBM.SYSPLAN の列 SECT_INFO に適合しません。
プリコンパイルは終了します。
ユーザー応答
プログラムを単純にするか、個別の小さいプログラムに 分割するか、またはその両方を行ってください。
SQL0053W プログラムに SQL ステートメントが見つかりませんでした。
説明
指定されたソース・ファイルには、SQL ステートメントが入っていません。
バインドの場合には、空のパッケージが作成されます。
ユーザー応答
プリコンパイルまたはバインド中のプログラムが正しいことを 確認してください。
SQL0055N ソース入力ファイルが空です。
説明
プログラム・ソース入力ファイルに、データが入っていません。
プリコンパイルは終了します。
ユーザー応答
正しい入力ファイルが指定されていることを確認してください。
SQL0056N SQLSTATE または SQLCODE 変数宣言が、ネストされたコンパウンド・ステートメント内にあります。
説明
SQLSTATE または SQLCODE 変数宣言が、SQL ルーチンで最外部のコンパウンド・ステートメントではなく、ネストされたコンパウンド・ステートメントにあります。
ステートメントは処理できません。
ユーザー応答
SQLSTATE および SQLCODE 変数は、SQL ルーチンで最外部のコンパウンド・ステートメントでのみ宣言してください。
sqlcode: -56
sqlstate: 42630
SQL0057N SQL 関数またはメソッド内の RETURN ステートメントには、戻り値が含まれている必要があります。
説明
返す値の指定なしで、RETURN ステートメントが SQL 関数またはメソッドに指定されています。
ステートメントは処理できません。
ユーザー応答
RETURN ステートメントに値を指定してください。
sqlcode: -57
sqlstate: 42631
SQL0058N SQL プロシージャー内の RETURN ステートメント値のデータ・タイプは INTEGER でなければなりません。
説明
INTEGER データ・タイプではない値または式で、RETURN ステートメントが SQL プロシージャーに指定されています。
ステートメントは処理できません。
ユーザー応答
INTEGER のデータ・タイプを持つ RETURN ステートメントで値を指定してください。
sqlcode: -58
sqlstate: 428F2
SQL0060W name プリコンパイラーが進行中です。
説明
このメッセージは、プリコンパイラーの処理開始時に、標準出力装置に 書き込まれます。 トークン name は、呼び出された特定言語のプリコンパイラーを示します。
処理を続行します。
ユーザー応答
アクションは不要です。
SQL0061W バインダーが進行中です。
説明
このメッセージは、バインド・プログラムの処理開始時に、標準出力装置に書き込まれます。
処理を続行します。
ユーザー応答
アクションは不要です。
SQL0062W ファイル nameの INCLUDE を開始しています。
説明
INCLUDE ステートメントが指定されています。 現在、プリコンパイラーは INCLUDE ファイルを処理しています。
ユーザー応答
アクションは不要です。
SQL0063W ファイル nameの INCLUDE が完了しました。
説明
プリコンパイラーが INCLUDE ファイルの処理を完了しました。 INCLUDE ステートメントを含んでいるファイルの処理が再開されます。
ユーザー応答
アクションは不要です。
SQL0064N ファイル 名 自体を直接または間接的に INCLUDE します。
説明
循環 INCLUDE が指定されています。 プリコンパイラー入力ファイルはそのファイル自体を INCLUDE することはできず、そのファイルを INCLUDE するファイルに INCLUDE されることもできません。
示されたファイルは INCLUDE されません。
ユーザー応答
INCLUDE ファイルのネストをチェックして、循環を取り除いてください。
SQL0065N ホスト変数宣言で、予期しない行末が検出されました。
説明
ホスト変数宣言に構文の誤りがあります。 宣言が完了する前に、行の終わりが見つかりました。
ステートメントは処理できません。
ユーザー応答
ホスト変数宣言の構文を確認してください。
SQL0078N ルーチン routine-nameにはパラメーター名を指定する必要があります。
説明
ルーチン routine-name では、すべてのパラメーターについてパラメーター名が指定されていません。 ルーチンが LANGUAGE SQL または SQLMACRO で定義されている場合、定義済みパラメーターごとにパラメーター名が必要です。
ステートメントは処理できません。
ユーザー応答
定義済みパラメーターすべてがパラメーター名を持っていることを確認してください。
sqlcode: -78
sqlstate: 42629
SQL0079N 宣言済みグローバル一時表または索引 name のスキーマ名は、 schema-nameではなく、SESSION でなければなりません。
説明
宣言された一時表、または宣言されたグローバル一時表の索引の スキーマ名 name は、SESSION でなければなりません。 このステートメントは、 宣言されたグローバル一時表または宣言されたグローバル一時表の索引の 明示的スキーマ名 schema-name を指定しています。 これは許可されません。
ステートメントは処理できません。
ユーザー応答
- スキーマ名を SESSION に変更する
- スキーマ名を除去し、DB2 にデフォルト値 SESSION を使用させる
sqlcode: -79
sqlstate: 428EK
SQL0081N プリコンパイル中に SQLCODE SQL コード が戻されました。/bind.
説明
プログラムのプリコンパイルまたはバインド中に、予期しない SQLCODE sqlcode がデータベース・マネージャーから戻されました。
ステートメントは処理できません。
ユーザー応答
SQLCODE を調べて問題を判別し、適切なアクションを 取ってください。
SQL0082C 処理を終了するエラーが発生しました。
説明
前に発生した非 SQL エラーのために、処理が終了しました。
プリコンパイル / バインド / 再バインドは終了します。 パッケージは作成されませんでした。
ユーザー応答
前のエラーの原因を訂正して、もう一度やり直してください。
SQL0083C メモリー割り振りエラーが発生しました。
説明
処理を実行するために必要なメモリーが足りなくなりました。
ユーザー応答
- ご使用になっているシステムに、十分な実および仮想メモリーがあるか確認してください。
- バックグラウンド処理を除去してください。
提案されたソリューションの試行後もこのメッセージを受け取る場合は、 IBM お客様サポートに連絡してください。
SQL0084N EXECUTE IMMEDIATE ステートメントに SELECT または VALUES ステートメントが含まれています。
説明
SELECT または VALUES ステートメントが EXECUTE IMMEDIATE ステートメントで使用されています。
ステートメントは処理できません。
ユーザー応答
暗黙関数はサポートされていません。 SELECT または VALUES ステートメントを準備してください。 その後に、OPEN、FETCH、および CLOSE を使用してください。
sqlcode: -84
sqlstate: 42612
SQL0085N ステートメント名 name は既に定義されています。
説明
今回の DECLARE ステートメント内で指定された ステートメント名は、前回の DECLARE ステートメントですでに使用されています。
今回の DECLARE ステートメントは処理できません。 前回の DECLARE ステートメントの指定が、現在も有効です。
ユーザー応答
今回のステートメントには、別の名前を使用してください。
SQL0086C メモリー割り振りエラーが発生しました。
説明
処理を実行するために必要なメモリーが足りなくなりました。
ユーザー応答
- システムに十分なメモリーがあることを確認してください。
- バックグラウンド処理を除去してください。
SQL0087N NULL 値が許可されていないコンテキストで NULL 値が指定されました。
説明
変数が NULL 値であってはならないコンテキストで使用されています。 例えば、カーソル変数は OPEN または FETCH ステートメントで使用できますが、カーソル変数の値は NULL 値であってはなりません。 ステートメントは処理できません。
ユーザー応答
変数の値が、NULL 値を許可しないコンテキストで NULL でないことを確認し、要求を再試行してください。
sqlcode: -87
sqlstate: 22004
SQL0088N ホスト変数 name があいまいです。
説明
ホスト変数 name を一意的に識別できません。 同じ修飾を持つ複数のホスト変数が検出される可能性があります。
ステートメントは処理できません。
ユーザー応答
ホスト変数の修飾を増やすか、またはすでに完全に修飾されたものが存在している場合は、名前変更してください。
SQL0089N 100 個のエラーが検出された後、処理が終了しました。
説明
エラーが 100 個に達したので、プリコンパイラーまたは バインド・プログラムが処理を終了します。
ユーザー応答
メッセージ・ログに示されているエラーを修正して、コマンドを 再サブミットしてください。
SQL0091W プリコンパイルまたはバインディングが number-1 個のエラーおよび number-2 個の警告で終了しました。
説明
プリコンパイルまたはバインドが、上記の番号の警告とエラーで 終了しました。
プリコンパイルまたはバインドは終了します。
ユーザー応答
警告またはエラーが発生した場合は、必要に応じてプログラムを修正し、 プリコンパイルまたはバインドを再試行してください。
SQL0092N 以前のエラーのため、パッケージは作成されませんでした。
説明
前のエラーのために、パッケージが作成されませんでした。
ユーザー応答
エラーを修正して、プリコンパイルまたはバインドを再試行してください。
SQL0093N EXEC SQL のステートメント終了文字の前に、入力の終わりが検出されました。
説明
SQL ステートメントの処理中、そのステートメントが終了する前にソースが終了しました。
プリコンパイルは終了します。
ユーザー応答
SQL ステートメントが正しく終了していることを確認してください。
SQL0094N ユーザー割り込み要求のため、バインディングが終了しました。
説明
割り込み要求 (ユーザーが割り込みキーを押した可能性があります) の ために、バインドが終了しました。
処理は終了します。 パッケージは作成されません。
ユーザー応答
必要な場合には、もう一度バインドのサブミットを行ってください。
サンプル・データベースをインストールしている場合は、それをドロップして サンプル・データベースを再インストールしてください。
SQL0095N 以前のエラーのため、バインド・ファイルは作成されませんでした。
説明
前のエラーのために、バインド・ファイルが作成されませ んでした。
バインド・ファイルは作成されません。
ユーザー応答
エラーを訂正して、プリコンパイルを再試行してください。
SQL0097N LONG VARCHAR または LONG VARGRAPHIC データ・タイプの変数またはパラメーターは、SQL ルーチンではサポートされていません。
説明
SQL ルーチン (プロシージャー、関数、または方式) は、LONG VARCHAR または LONG VARGRAPHIC データ・タイプの変数またはパラメーターをサポートしていません。
ユーザー応答
LONG VARCHAR または LONG VARGRAPHIC データ・タイプの変数またはパラメーターを SQL ルーチンで使用しないでください。 LONG VARCHAR の場合は、明示的な長さを持つ VARCHAR を使用してください。 LONG VARGRAPHIC の場合は、明示的な長さを持つ VARGRAPHIC を使用してください。
sqlcode: -97
sqlstate: 42601
SQL0100W FETCH、UPDATE、または DELETE の行が見つからなかったか、または照会の結果が空の表です。
説明
- UPDATE または DELETE ステートメントに指定された検索条件を満たす行が見つかりません。
- SELECT ステートメントの結果が空の表でした。
- 結果表の最後の行の後ろにカーソルを 位置付けたときに、FETCH ステートメントが実行されました。
- INSERT ステートメントで使用された SELECT の結果が空です。
データの検索、更新、または削除は実行されませんでした。
ユーザー応答
アクションは不要です。 処理の続行は可能です。
sqlcode: +100
sqlstate: 02000
SQL0101N メモリー制限、SQL 制限、またはデータベース制限などの制限に達したため、ステートメントは処理されませんでした。
説明
このメッセージは、メモリー限度、SQL 限度、またはデータベース限度などの制限を上回る SQL ステートメントの作成または実行が試行されたときに返されることがあります。 このコンテキストにおける「メモリー限度」の例を以下に示します。
- ステートメント・ヒープ (STMTHEAP)
- アプリケーション・ヒープ (APPLHEAPSZ)
- アプリケーション・メモリー (APPL_MEMORY)
- インスタンス・メモリー (INSTANCE_MEMORY)
- その他のプロセスまたはシステム・メモリー限度
例えば、以下の理由でこのメッセージが返されることがあります。
- ステートメント・ヒープが、ステートメントをコンパイルするのに十分な大きさではない。 (ステートメント・ヒープは、SQL ステートメントまたは XQuery ステートメントのコンパイル時に、ワークスペースとして SQL コンパイラーまたは XQuery コンパイラーによって使用されます。)
- アプリケーション要求を処理するのに十分なアプリケーション・メモリーがない。
- ステートメントが、パックされた記述の作成または変更を行うものである場合に、新しくパックされた記述が、システム・カタログの対応する列に対して長すぎる可能性がある。
このメッセージは、複雑すぎてコンパイル不可能な SQL ステートメントの実行が試みられた場合にも返されることがあります。 例えば、ステートメントが複雑になる要因には以下のものがあります。
- 制約 (表チェック制約や外部キー制約など)
- トリガー
- 行アクセス制御および列アクセス制御
- フェデレーテッド環境:
フェデレーテッド環境では、このメッセージは、フェデレーテッド・サーバーまたはフェデレーテッド・データ・ソースのいずれかの制限をステートメントが超えた場合に返されることがあります。
- コード・ページ変換:
2 つの異なるコード・ページ間で文字データが変換される場合、変換の結果得られるデータが制限を超えていると、(元のデータは制限を超えていなかったとしても) このメッセージが返されることがあります。
ユーザー応答
以下に示す 1 つ以上の処置を講じて、このエラーに対応してください。
- stmtheap データベース構成パラメーターを使用してステートメント・ヒープのサイズを引き上げるか、または stmtheap パラメーターを AUTOMATIC に設定してステートメント・ヒープが自動的に引き上げられるようにします。
- appl_memory データベース構成パラメーターを AUTOMATIC に設定することで、アプリケーション要求に割り振るメモリー量が自動的に引き上げられるようにします。
- ステートメントをより短い、またはより簡単な SQL ステートメントに分割します。
- 以下に示す種類の変更を 1 つ以上行って、ステートメントの複雑度を低下させます。
- ステートメントに関わる制約 (表チェック制約や外部キー制約など) の数を減らします。
- ステートメントのトリガーの数を減らします。
- ステートメントに関わる行アクセス制御または列アクセス制御の数を減らします。
- フェデレーテッド環境:
- フェデレーテッド・データ・ソースによってエラーが返されているのか、それともフェデレーテッド・サーバーによってエラーが返されているのかを判別します。
- 前述の一般的な処置を 1 つ以上講じます。 以下に例を示します。
- フェデレーテッド・サーバーによってエラーが返されている場合は、stmtheap データベース構成パラメーターを使用してステートメント・ヒープのサイズを引き上げるか、または stmtheap パラメーターを AUTOMATIC に設定します。
- ステートメントの複雑度を低下させます。
sqlcode: -101
sqlstate: 54001
SQL0102N string で始まるストリング定数が長すぎます。
説明
以下のいずれかが発生しました。
- COMMENT ON ステートメントのコメントが 254 バイトより大きくなっています。
- SQL CONNECT ステートメントに指定されるアプリケーション・サーバー名が、 18 バイトより大きくなっています。
- string で始まるストリング定数の長さが 32672 バイトを超えています。 32672 バイトを超える長さを持つ文字ストリング、 または 16336 文字を超える長さを持つ GRAPHIC ストリングは、 ホスト変数からの割り当てを通じてのみ指定することができます。 DB2 ファミリーの他のサーバーが、 文字ストリングに対して別のサイズ制限を指定している可能性があります。 詳細については、該当するデータベース製品のマニュアルをご覧ください。
- XQuery 式において string で始まるストリング・リテラルの長さが 32672 バイトを超えています。 限度は UTF-8 でエンコードされているストリング・リテラルで決定されます。 長さが 32672 バイトを超えるストリングは、データにアクセスする XQuery 関数を使用して、あるいは XMLQUERY、XMLEXISTS、または XMLTABLE のような SQL/XML 関数を使用して値が割り当てられる XQuery 変数を使用してのみ、データベースにある XML 値を使用して XQuery 式に指定できます。
- フェデレーテッド・システム・ユーザーの場合: データ・ソース特有の制限がパススルー・セッションで超えないようにしてください。 たとえば、 パススルー・セッションで DB2 for OS/390 に送信されるステートメントに 254 バイト以上の文字リテラルが含まれていると、上記のエラーが発生します。
- INGEST コマンドのジョブ ID ストリングが 128 バイトを超えています。
- INGEST コマンドのフィールド定義における日付、時刻、またはタイム・スタンプの形式のストリングが、最大長を超えています。 日付形式ストリングの最大長は 10 バイトです。 時刻形式ストリングの最大長は 8 バイトです。 タイム・スタンプ形式ストリングの最大長は 32 バイトです。
これは、データ変換が行われて、その結果のストリングが長すぎる状態になる可能性があります。 アプリケーションと、異なったコード・ページのもとで実行されるデータベースとの間の接続において、 ストリング定数は、アプリケーション・コード・ページからデータベース・コード・ページに変換されます。 特定の状況 (データベースが EUC コード・ページで作成された時など) では、 GRAPHIC ストリング定数は、データベース・コード・ページから UCS-2 (UNICODE) エンコードにさらに変換される場合があります。 これは、入力ストリングより長い結果のストリングをもつ可能性があることを意味します。
ステートメントは処理できません。
ユーザー応答
表のコメントまたは列のコメントの場合は、コメントのサイズを短くしてください。 SQL CONNECT ステートメントの場合は、アプリケーション・サーバー名の長さを減らしてください。 ストリング定数の場合、要求された関数は対話式には使用できません。 アプリケーション・プログラムに組み込まれている CONNECT SQL ステートメント以外でエラーが発生した場合は、 ホスト変数に長ストリングを割り当てて、SQL ステートメントのストリング・リテラルとその変数を置き換えてください。
フェデレーテッド・システム・ユーザーの場合: パススルー・セッションの場合、どのデータ・ソースがエラーの原因かを判別してください。 データ・ソースでどの特定限度を超えたのか判別するために SQL ダイアレクトを調べ、 失敗したステートメントを必要に応じて調整してください。
INGEST ユーティリティーのユーザー: 129 バイトより小さい INGEST ジョブ ID を指定するか、または最大長以下の形式ストリングを指定してください。
sqlcode: -102
sqlstate: 54002
SQL0103N 数値リテラル ・リテラル が無効です。
説明
示された literal は数字で始まっていますが、有効な整数、10 進数、または浮動小数リテラルではありません。
フェデレーテッド・システム・ユーザーの場合: パススルー・セッションで、データ・ソースに特定のリテラル表記エラーが生じました。
ステートメントは処理できません。
ユーザー応答
無効な数値リテラルを訂正してください。フェデレーテッド・システム・ユーザーの場合: エラーがパススルー・セッションで生じた場合、どのデータ・ソースがエラーの原因かを判別してください。 データ・ソースでどのリテラル表示規則が違反しているのか判別するために SQL ダイアレクトを調べ、 失敗したステートメントを必要に応じて調整してください。
sqlcode: -103
sqlstate: 42604
SQL0104N textの後に、予期しないトークン token が検出されました。 予期されたトークンに token-list が含まれている可能性があります。
説明
SQL ステートメントまたは SYSPROC.ADMIN_CMD プロシージャーの入力コマンド・ストリングの構文エラーが、テキスト text の後の示されたトークンに見つかりました。 「text」フィールドは、無効なトークンの前にある 20 文字の SQL ステートメントまたは SYSPROC.ADMIN_CMD プロシージャーの入力コマンド・ストリングを示しています。
解決の手掛かりとして、token-list として、SQLCA の「SQLERRM」フィールドに有効なトークンの一部のリストが提供されます。 このリストは、その時点までのステートメントが正しいと想定しています。
このメッセージが返されるのは、コマンド・モードでテキストがコマンド行プロセッサー (CLP) に渡されたものの、単一引用符や二重引用符など、オペレーティング・システム・シェルによって解釈される特殊文字が、エスケープ文字によって識別されずにテキストに含まれている場合です。
ステートメントは処理できません。
ユーザー応答
以下のいずれかの方法で、このエラーに対処してください。
- 示されたトークンの領域内のステートメントを調べて、修正してください。
- コマンド・モードで CLP を使用しており、コマンド内に引用符などの何らかの特殊文字が含まれている場合には、円記号 (¥) などのエスケープ文字を使用して、オペレーティング・システム・シェルがそれらの特殊文字に対して特別なアクションをとらないようにします。 また、対話モードまたはバッチ・モードで CLP を使用してステートメントを発行することにより、オペレーティング・システム・シェルによる特殊文字の処理を避けることもできます。
sqlcode: -104
sqlstate: 42601
SQL0105N string で始まるストリング定数が有効ではありません。
説明
ステートメントに、string で始まる無効なストリング定数が入っています。
ステートメントは処理できません。
ユーザー応答
正しいフォーマットのストリング定数を指定してください。 GRAPHIC ストリング、対の区切り文字、およびストリング内の文字が 偶数バイトであることをチェックしてください。
sqlcode: -105
sqlstate: 42604
SQL0106N SQL ステートメントは正しく開始されますが、不完全です。
説明
SQL ステートメントは、入力が検出されなくなる点までは正しいものでした。 これは、リテラルが正しく終わっていないことが原因である可能性があります。 ストリング・リテラルには終わりの引用符が必要です。
この SQL ステートメントの処理が終了しました。
ユーザー応答
関数を完成するために必要なパーツのすべてをステートメントが持っているか、またすべての節が完了しているかを調べてください。
PL/I の場合: SQL ステートメントがセミコロンの前で終わっているかを確認してください。 アセンブラーの場合: 継続規則に正しく従っているかを確認してください。 (ブランク以外の文字が 72 列目になければならず、継続行は 16 列目以降から開始されていなければなりません。)
COBOL の場合: SQL ステートメントが END-EXEC の前で終わっているかを確認してください。
sqlcode: -106
sqlstate: 42601、42603
SQL0107N 名前 name が長すぎます。 最大長は length です。
説明
name として戻された名前が長すぎます。 このタイプの名前に許される最大の長さ (バイト数) は、 length で示されています。 エスケープ文字が存在する場合、このバイト数には含まれません。
フェデレーテッド・システムのユーザーの場合: パススルー・セッションでは、データ・ソースに特定の限度を超過していることがあります。
ステートメントは処理できません。
注: 異なったコード・ページのもとで実行されるアプリケーションおよびデータベースに対して文字データ変換が実行された場合には、変換の結果の長さが限界を超えたためにこのエラーが戻されることがあります。
ユーザー応答
より短い名を使用するか、またはオブジェクト名のつづりを 訂正してください。
フェデレーテッド・システム・ユーザーの場合: パススルー・セッションの場合、どのデータ・ソースがエラーの原因かを判別してください。 データ・ソースでどの特定限度を超えたのか判別するために SQL ダイアレクトを調べ、 失敗したステートメントを必要に応じて調整してください。
sqlcode: -107
sqlstate: 42622、10901
SQL0108N 名前 name の修飾子の数が間違っています。
説明
名前 name の修飾が正しくありません。
このコンテキストでは、name という名前のオブジェクトは、修飾子を 1 つしか持てません。
修飾子付きか修飾子なしの表名、または 相関名で、列名は修飾されます。 場合によっては、列名には表名修飾子が必要になります。
ALTER MODULE ステートメント・アクションのモジュール・オブジェクトの ID は、非修飾の 1 部構成の名前でなければなりません。
ステートメントは処理できません。
ユーザー応答
オブジェクトの名前が正しく修飾されていることを確認してください。
sqlcode: -108
sqlstate: 42601
SQL0109N 次の節は、使用されているコンテキストではサポートされていないため、ステートメントまたはコマンドは処理されませんでした: clause。
説明
SQL ステートメントまたはコマンドで、サポートされない方法で節が使用された場合に、このメッセージが返されます。
このメッセージが返される可能性のあるシナリオは数多くあります。 以下に、このメッセージが返される可能性のあるシナリオの例をいくつか示します。
- 副照会、INSERT ステートメント、または CREATE VIEW ステートメントに、INTO、 ORDER BY、 または FOR UPDATE のいずれかの節が含まれています。
- RAISE_ERROR 関数が選択リスト項目として使用されましたが、RAISE_ERROR 関数の結果は適切なデータ・タイプにキャストされませんでした。
- 副選択分離またはロック要求節が XML コンテキストで指定されました。
- フェデレーテッド環境のみ: パススルー・セッションでデータ・ソース固有の制約事項違反がありました。
ユーザー応答
ステートメントまたはコマンドから節を削除してから、ステートメントを再サブミット、またはコマンドを再実行します。
- フェデレーテッド・システム・ユーザーの場合:
パススルー・セッションの場合、以下のトラブルシューティング・ステップを実行します。
- どのデータ・ソースがエラーの原因かを判別します。
- そのデータ・ソースの SQL ダイアレクトを調べて、どの具体的な制約事項違反があったかを判別します。
- 必要に応じて失敗したステートメントを調整します。
- ステートメントの再サブミット、またはコマンドの再実行を行います。
sqlcode: -109
sqlstate: 42601
SQL0110N string は無効な 16 進定数です。
説明
- 無効な 16 進数が指定されています。 '0 から 9'、'A から F'、および 'a から f' のみが使用できます。
- 偶数でない 16 進数が指定されています。
- 8000 を超える 16 進数が指定されています。
ユーザー応答
定数を訂正して、もう一度ステートメントのサブミットを行ってください。
sqlcode: -110
sqlstate: 42606
SQL0111N 列関数 name に列名が含まれていません。
説明
列関数 name (AVG、MIN、 MAX、SUM、または COUNT(DISTINCT)) が 指定されましたが、オペランドに列名が含まれていないため無効です。
ステートメントは処理できません。
ユーザー応答
列名を、列関数に対するオペランドである式に指定してください。
注: このエラーは、バージョン 2 以前の DB2 のリリースにのみ適用されます。
sqlcode: -111
sqlstate: 42901
SQL0112N 列関数 name のオペランドに、列関数、スカラー全選択、または副照会が含まれています。
説明
- 列関数
- スカラー全選択
- 副照会
- XMLQUERY または XMLEXISTS 式。ただし、XMLAGG 列関数のオペランドとして使用する場合を除く。
SELECT リストでは、算術演算子のオペランドは DISTINCT キーワードの入った列関数で使用できません。
ステートメントは処理できません。
ユーザー応答
列関数の使用を訂正して無効な式を取り除き、もう一度やり直してください。
sqlcode: -112
sqlstate: 42607
SQL0113N identifier に、許可されていない文字、または文字が含まれていない文字が含まれています。
説明
SQL 変数名、パラメーター名、セキュリティー・ラベル・コンポーネント・エレメント、または条件名 identifier に無効文字が入っています。
SQL 変数名、パラメーター名、および条件名の場合、許可されているのは、SQL の通常の ID として有効な文字だけです。 ID が区切られているため、大文字への変換が行われず、大文字と小文字がお互いに異なるものとして 扱われることに注意してください。
セキュリティー・ラベル・コンポーネント・エレメントの場合、許可されているのはエレメント値として有効な文字だけです。
ユーザー応答
ID を訂正して、ステートメントを再サブミットしてください。
sqlcode: -113
sqlstate: 42601
SQL0117N 割り当てられた値の数が、指定または暗黙の列または変数の数と同じではありません。
説明
次のような場合、値の数が同じにならない可能性があります。
- INSERT ステートメントの値リスト内の挿入値の数が、明示的または 暗黙的に指定された列数と等しくありません。 列リストが指定されていない場合は、表またはビューのすべての列 (暗黙的に隠されているものを除く) の入った列リストが暗黙に指定されたものと見なされます。
- SET ステートメントまたは UPDATE ステートメントの SET 節の 割り当ての右側の値の数が、左側の列または変数の数と一致しません。
ステートメントは処理できません。
ユーザー応答
ステートメントを修正して、指定した列または変数、または暗黙に指定されている列または変数ごとに 1 つの値を指定してください。
sqlcode: -117
sqlstate: 42802
SQL0118N INSERT、DELETE、または UPDATE ステートメントのターゲットである表またはビューが FROM 節にも指定されています。
説明
INSERT、DELETE または UPDATE ステートメントのターゲットとして 指定された表またはビューが、ステートメント内の副照会の FROM 節中にも 指定されています。
INSERT、UPDATE または DELETE のターゲットとなる表またはビューを 使って、挿入される値を渡したり、または挿入、更新、削除される行を 修飾することはできません。
ステートメントは処理できません。
このメッセージは、バージョン 1.2 以前のサーバーと、DB2 Connect を介してアクセスされるホストにのみ適用されます。
ユーザー応答
暗黙関数はサポートされていません。 希望する結果を得るには、オブジェクトとする表またはビューの一時的なコピーを 作成し、そのコピーへの副選択を指定してください。
sqlcode: -118
sqlstate: 42902
SQL0119N SELECT 節、HAVING 節、または ORDER BY 節で指定された expression-start で始まる式が GROUP BY 節で指定されていないか、または列関数を持つ SELECT 節、HAVING 節、または ORDER BY 節で指定されていて GROUP BY 節が指定されていません。
説明
- 識別可能な式と列関数が、SELECT 節、HAVING 節、または ORDER BY 節に 入っていますが、GROUP BY 節がありません。
- 識別可能な式が SELECT 節、HAVING 節、または ORDER BY 節に 入っていますが、GROUP BY 節に入っていません。
識別可能な式は、expression-start で始まる式です。 式は単一列名にするのがよいでしょう。
NODENUMBER または PARTITION 関数を HAVING 節で指定した場合、 基礎表のすべてのパーティション・キー列が HAVING 節にあると見なされます。
ステートメントは処理できません。
ユーザー応答
SELECT 節、HAVING 節、または ORDER BY 節の GROUP BY 節に 列を組み込むか、あるいは列関数を SELECT 節から削除して、ステートメントを訂正してください。
sqlcode: -119
sqlstate: 42803
SQL0120N 集約関数または OLAP 関数の使用法が無効です。
説明
集約関数または OLAP 関数は、全選択の選択リストまたは HAVING 節でのみ、 もしくは制限付きでのみ、 WHERE 節または GROUP BY 節にて使用できます。
WHERE 節が HAVING 節の副照会で使用され、かつ関数の引数がグループに対する相関参照で ある場合にのみ、その WHERE 節に集約関数または OLAP 関数を入れることができます。
GROUP BY 節については、関数の引数が、GROUP BY 節の入った副選択とは 異なる副選択の列に対する相関参照である場合にのみ、この節に集約関数または OLAP 関数を入れることができます。
OLAP 関数は、XMLQUERY または XMLEXISTS 式の引数リスト内では使用できません。
ステートメントは処理できません。
ユーザー応答
集約関数または OLAP 関数が使用されないように、またはそれらの関数がサポートされる場所でのみ 使用されるように、ステートメントを変更してください。
sqlcode: -120
sqlstate: 42903
SQL0121N ターゲット名 name が、同じ SQL ステートメントで割り当てのために複数回指定されています。
説明
同じターゲット名 name が、CALL ステートメントの OUT または INOUT 引数として、または INSERT ステートメントの列リスト、UPDATE ステートメントの SET 節の割り当ての左辺、または割り当てステートメントの左辺に 2 回以上指定されています。 ターゲット名は、列、SQL パラメーター、または変数を識別します。
ビューの 2 つ以上の列が基本表の同じ列にもとづいているビューの更新または挿入を行うときに、 このエラーが発生する可能性があることに注意してください。
ステートメントは処理できません。
ユーザー応答
ステートメントの構文を修正し、各列名を 1 度だけ指定するようにしてください。
sqlcode: -121
sqlstate: 42701
SQL0122N GROUP BY 文節が指定されていない SELECT ステートメントに列名または式が含まれており、SELECT 文節に列関数が含まれているか、列名または式が SELECT 文節に含まれているが GROUP BY 文節には含まれていません。
説明
SELECT ステートメントには、以下に示すエラーのいずれかがあります。
- 列名または式と列関数が SELECT 節中に入っていますが、GROUP BY 節がありません。
- 列名または式が SELECT 節中に入っていますが、GROUP BY 節中に入っていません。
列または式がスカラー関数の中に入っている可能性があります。
DATAPARTITIONNUM、DBPARTITIONNUM、NODENUMBER、HASHEDVALUE、または PARTITION 関数を SELECT 節で指定した場合、 基礎表のすべてのデータベースまたは表パーティション・キー列が SELECT 節にあると見なされます。
ステートメントは処理できません。
ユーザー応答
SELECT 節内の GROUP BY 節に列または式を組み込むか、 または SELECT 節から列または式を削除して、ステートメントを訂正してください。
sqlcode: -122
sqlstate: 42803
SQL0123N 関数 name の位置 n にあるパラメーターは、定数、キーワード、変数、または定数か変数のキャストでなければなりません。
説明
関数 name の位置 n のパラメーターが予期されたエレメントではありません。パラメーターは、次のいずれかのエレメントでなければなりません。
- 定数 (定数であることが必要な場合)
- キーワード (キーワードであることが必要な場合)
- 変数 (変数であることが必要な場合)
- 定数または変数のキャスト (定数または変数のキャストであることが必要な場合)
ユーザー応答
関数の各引数を、対応するパラメーターの定義に一致させてください。
sqlcode: -123
sqlstate: 428I9、42601
SQL0125N ORDER BY または GROUP BY 文節の列番号が 1 より小さいか、結果表の列の数より大きくなっています。
説明
ステートメント内の ORDER BY または GROUP BY 節に含まれる列の番号が、1 以下かまたは結果表の列数 (SELECT 節内の項目数) より大きくなっています。
ステートメントは処理できません。
ユーザー応答
ORDER BY または GROUP BY 節の構文を修正して、各列の ID が結果表の列を正しく識別するようにしてください。
sqlcode: -125
sqlstate: 42805
SQL0127N DISTINCT が複数回指定されています。
説明
- SELECT 節および列関数の両方で使用する。
- 同一の SELECT ステートメント内の複数の列関数で使用する。
ステートメントは処理できません。
ユーザー応答
このエラーは、DB2 バージョン 2 以前の DB2 のリリースと、 DB2 Connect を介してアクセスされるホストのみに適用されます。
sqlcode: -127
sqlstate: 42905
SQL0129N ステートメントに含まれている表名が多すぎます。
説明
SQL ステートメントに入っている表名が多すぎます。 1 個の SQL ステートメントが参照できる最大の表数は 255 です。 参照される任意のビューの各表がこの限度内に含められます。
ステートメントは処理できません。
ユーザー応答
SQL ステートメントを複数の単純ステートメントに分割して、各ステートメントが 255 またはそれ以下の表参照となるようにしてください。
このメッセージは、DB2 Connect を介してアクセスされるホストにのみ適用されます。
sqlcode: -129
sqlstate: 54004
SQL0130N ESCAPE 文節が単一文字ではないか、パターン・ストリングにエスケープ文字の無効なオカレンスが含まれています。
説明
エスケープ文字は、2 バイト以下の長さの単一文字でなければなりません。 これがパターン・ストリングに現れるのは、エスケープ文字自身、パーセント記号、 または下線が後に続く場合だけです。 LIKE 述部の ESCAPE 節に関する詳細については、「SQL リファレンス」を参照してください。
ユーザー応答
パターン・ストリングまたはエスケープ文字を訂正してください。
sqlcode: -130
sqlstate: 22019、22025
SQL0131N LIKE 述部のオペランドのデータ・タイプに互換性がありません。
説明
LIKE または NOT LIKE の左側が文字タイプの 場合は、右側も文字タイプでなければなりません。
左側が GRAPHIC 型の場合は、右側も GRAPHIC 型でなければなりません。
式の左側のタイプがバイナリー・ストリングの場合は、右側もバイナリー・ストリング型でなければなりません。
ステートメントは処理できません。
ユーザー応答
LIKE 述部をチェックし、同じデータ・タイプに修正してください。
sqlcode: -131
sqlstate: 42818
SQL0132N ストリング式が予期されていた LIKE 述部またはスカラー関数に値が指定されたため、ステートメントは処理されませんでした。
説明
このメッセージは、次の関数などで無効なストリング式が指定されたときに返されることがあります。
- LIKE 述部
- LOCATE スカラー関数
- POSITION スカラー関数
- POSSTR スカラー関数
- STRPOS スカラー関数
ユーザー応答
それぞれの関数で有効なオペランドを指定して、ステートメントを再発行してください。
sqlcode: -132
sqlstate: 42824
SQL0134N ストリング列、ホスト変数、定数、または関数 nameの使い方が不適切です。
説明
ストリング name の使用は許されていません。
- SELECT DISTINCT ステートメント
- GROUP BY 節
- ORDER BY 文節
- DISTINCT を持つ列関数
- UNION ALL 以外のセット演算子の SELECT または VALUES ステートメント
フェデレーテッド・システム・ユーザーの場合: パススルー・セッションの場合、データ・ソース固有の制約事項によってこのエラーが生じる可能性があります。 障害のあるデータ・ソースについては、「SQL リファレンス」の資料を参照してください。
ステートメントは処理できません。
ユーザー応答
ストリングで要求された処理はサポートされていません。
sqlcode: -134
sqlstate: 42907
SQL0135N INSERT ステートメントまたは UPDATE ステートメントの LONG ストリング列の入力は、ホスト変数からのものか、キーワード NULL でなければなりません。
説明
UPDATE または INSERT は、NULL またはホスト変数を使用している定数、列名、または副照会を使用しています。
長ストリング列は LONG VARCHAR、LONG VARGRAPHIC、VARCHAR(n) のいずれか (n は 254 より大きく 32767 以下)、または VARGRAPHIC(n) (n は 127 より大きく 16383 未満) です。
ユーザー応答
長ストリングの使用に関しては、DB2 for VM Application Programming マニュアルを参照してください。 ステートメントを訂正してください。 もう一度やり直してください。
sqlcode: -135
sqlstate: 56033
SQL0137N operation の結果の長さが maximum-valueを超えています。
説明
操作の結果として、実際の長さがその操作で許可されている最大長を超えているストリングが生成されました。
操作が CONCAT である場合、指定されたオペランドの連結結果が、結果タイプによってサポートされている長さを超えました。
いずれかのオペランドが CLOB で、その制限が 2 ギガバイトでない限り、文字ストリングの結果は 32,700 バイトに制限されます。
いずれかのオペランドが DBCLOB で、その制限が 1,073,741,823 (1 ギガバイトより 1 少ない値) 2 バイト文字でなり限り、GRAPHIC ストリングの結果は 16,350 文字に制限されます。
バイナリー数ストリングの結果 (オペランドは BLOB) は 2 ギガバイトに制限されます。
ユーザー応答
その操作の資料を参照して、結果ストリングがどのように生成され、操作の最大長がどのように決定されるのかを調べてください。 操作の引数を変更することにより、結果の長さや最大長が変化するかどうかを検討してください。
操作が CONCAT である場合、オペランドの長さの合計が、サポートされている最大値を超えないようにして、操作を再試行してください。
sqlcode: -137
sqlstate: 22001、54006
SQL0138N スカラー関数の数値引数が範囲外であるため、ステートメントは実行されませんでした。
説明
1 つ以上のストリングを操作するスカラー関数に、範囲外の数値引数が指定された場合、このメッセージが返されます。 そのような関数の例を以下に示します。
- SUBSTR
- SUBSTRING
- LEFT
- RIGHT
- INSERT
- OVERLAY
例えば、SUBSTR 関数に対する 2 番目の引数は、ストリング内の位置を指定します。 その引数に指定された値が 1 未満、またはストリングの長さを超える場合は、このメッセージが返されます。 特定の関数の引数の有効範囲については、その関数の説明を参照してください。
ユーザー応答
ステートメント内の各スカラー関数の数値引数を確認します。 範囲外の値をすべて修正し、ステートメントを再発行してください。
sqlcode: -138
sqlstate: 22011
SQL0139W 列 columnの指定に冗長な節があります。
説明
列指定内の節が重複しています。
ステートメントは正常に処理されましたが、重複した節は無視されました。
ユーザー応答
列指定を訂正してください。
sqlcode: +139
sqlstate: 01589
SQL0142N SQL ステートメントはサポートされていません。
説明
他の SQL ダイアレクトで有効なプロシージャー型 SQL ステートメントがこのデータ・サーバーによりサポートされていないか、または他の IBM リレーショナル・データベースで有効な SQL ステートメントがこのデータ・サーバーによりサポートされていません。
フェデレーテッド・システム・ユーザーの場合: SQL ステートメントをサポートしないデータ・ソースに対する SQL ステートメントになっていないか調べてください。
ステートメントは処理できません。
ユーザー応答
SQL ステートメントの構文を変更するか、またはそのステートメントをプログラムから取り除いてください。
フェデレーテッド・システム・ユーザーの場合: 理由が不明な場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースの SQL ダイアレクトを調べてください。
SQL0143W SQL ステートメントはサポートされていません。無効な構文は無視されます。
説明
他の IBM リレーショナル・データベース製品では、 有効な組み込み SQL ステートメントかもしれませんが、 データベース・マネージャーではサポートされていません。
このステートメントは一貫性がないか、または望ましくない結果を招く可能性があります。
ユーザー応答
SQL ステートメントの構文を変更するか、またはそのステートメントをプログラムから取り除いてください。
SQL0150N INSERT、DELETE、UPDATE、MERGE、または TRUNCATE ステートメント内のターゲットの全選択、ビュー、型付き表、マテリアライズ照会表、範囲がクラスター化された表、またはステージング表は、要求された操作が許可されていないターゲットです。
説明
INSERT、UPDATE、DELETE、MERGE、または TRUNCATE ステートメント内で指定されている全選択、ビュー、型付き表、マテリアライズ照会表、範囲がクラスター化された表、またはステージング表は、要求された挿入、更新、削除、または切り捨て操作が実行できないように定義されています。
ビューまたは全選択は、 ビューまたは全選択の SELECT ステートメントに以下のいずれかがある場合にのみ、 読み取り専用となります。
- DISTINCT キーワード
- SELECT リスト内の列関数
- GROUP BY または HAVING 節
- 以下のいずれかの項目を指定する FROM 節
- 複数の表またはビュー
- 読み取り専用のビュー (SYSCAT.VIEWS の READONLY 列が 'Y' に設定されています)
- 期間の指定が後に続いているシステム期間テンポラル表
- セット演算子 (UNION ALL 以外)
- フェデレーテッド・システム・ユーザーの場合: ビューを更新不可能にするデータ・ソース特有の制限
上記の条件は SELECT ステートメントまたは全選択の副照会には適用されません。
NOT DETERMISTIC あるいは EXTERNAL ACTION で定義されている副照会かルーチンを参照する WHERE 節を、直接または間接に含む ビューは、MERGE ステートメントのターゲットとして 使用されません。
WITH ROW MOVEMENT 節で定義されたビューは、更新処理を含む MERGE ステートメントの ターゲットとして使用できません。
UNION ALL を使用する全選択で定義されたビューは、変更操作で period 節が指定されている MERGE ステートメントのターゲットとして使用できません。
インスタンス化が可能でない構造化タイプに定義されている型付き表に、行を直接挿入することはできません。 この表の副表では挿入が許可されています。
一般的に、システムが保守するマテリアライズ照会表およびステージング表に対して挿入、更新、削除、または切り捨て操作を行うことはできません。
切り捨て操作では、範囲がクラスター化された表を使用できません。
ステートメントは処理できません。
ユーザー応答
要求された関数は全選択、ビュー、システムで保守されるマテリアライズ照会表、範囲がクラスター化された表、またはステージング表に対して実行できません。
フェデレーテッド・システム・ユーザーの場合: 理由が不明な場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースのオブジェクト定義と更新制限を調べてください。
sqlcode: -150
sqlstate: 42807
SQL0151N 列 name を更新できません。
説明
以下のいずれかの状態のため、示された列は更新できません。
- オブジェクト表がビューであり、指定された列が、スカラー関数、式、キーワード、定数、または列を更新できないビューの列から派生した列である。
- 指定された列は、システム・カタログの更新不能列か、または明示的に READ ONLY とマークされた列です。
- 表の BUSINESS_TIME 期間に、更新対象として指定された列が含まれています。 BUSINESS_TIME 期間の列をトリガー本体内で変更してはなりません。
- 表の BUSINESS_TIME 期間に、更新対象として指定された列が含まれています。 データ変更ステートメントに期間節が含まれている場合は、BUSINESS_TIME 期間の列をトリガー本体内で変更してはなりません。
フェデレーテッド・システム・ユーザーは、他のデータ・ソース特有の制限が列の更新を妨げていないかを調べてください。
ステートメントは処理できません。
ユーザー応答
示された列が、スカラー関数、式、キーワード、または更新できない列から派生した列である場合は、 更新の SET 節の列または挿入の列を省略してください。 更新可能カタログ (および更新可能列) のリストについては、「SQL リファレンス」を参照してください。
フェデレーテッド・システム・ユーザーの場合: 理由が不明な場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースのオブジェクト定義と更新制限を調べてください。
sqlcode: -151
sqlstate: 42808
SQL0152N Constraint constraint-name は、 expected-constraint-type 制約ではなく、 actual-constraint-type 制約です。
説明
制約 constraint-name の変更またはドロップが試行されましたが、 この制約は指定された actual-constraint-type 制約ではなく、 expected-constraint-type として定義されています。
ユーザー応答
変更またはドロップしようとしている制約の名前とタイプを検証してください。
sqlcode: -152
sqlstate: 42809
SQL0153N ステートメントに必要な列リストが含まれていません。
説明
- 全選択の SELECT リストのすべてのエレメントが、 列名以外で AS 節を使用して名前が指定されていません。
- AS 節を使用して名前が変更されていない同一の列名を持つ 2 つのエレメントが存在します。
ステートメントは処理できません。
ユーザー応答
CREATE VIEW ステートメント、共通表式、CREATE TABLE ステートメントに列名リストを指定するか、 または AS 節を使用して、全選択の SELECT リストに列の名前を指定してください。
sqlcode: -153
sqlstate: 42908
SQL0155N トリガー遷移表は変更できません。
説明
トリガーに、OLD_TABLE または NEW_TABLE が 識別された REFERENCING 節が入っています。 DELETE、INSERT または UPDATE トリガー SQL ステートメントが、変更する表として指定されている OLD_TABLE または NEW_TABLE と 同じ名前を使用しました。
ユーザー応答
DELETE、INSERT または UPDATE トリガー SQL ステートメントを、トリガー・アクションから取り除くか、または遷移表の名前を変更して、変更する表と矛盾しないようにしてください。
sqlcode: -155
sqlstate: 42807
SQL0156N この操作に使用された名前は表ではありません。
説明
SQL ステートメント ALTER TABLE、DROP TABLE、SET INTEGRITY、 CREATE TRIGGER、CREATE INDEX、LOCK TABLE、および RENAME TABLE は表にのみ適用され、ビューには適用できません。 RUNSTATS、LOAD、および REDISTRIBUTE DATABASE PARTITION GROUP ユーティリティーも、表にのみ適用可能で、ビューには適用できません。
フェデレーテッド・システム・ユーザーの場合: いくつかのユーティリティーおよびステートメントは、 フェデレーテッド環境ではサポートされていません。 詳しくは、「管理ガイド」を参照してください。
ステートメントまたはユーティリティーは処理されません。
ユーザー応答
正しい表名がステートメントに指定されていることを確認してください。 別名を指定する場合は、別名が表名に解決されることを確認してください。
フェデレーテッド・システム・ユーザーの場合: オブジェクトがニックネームではないことを確認してください。
sqlcode: -156
sqlstate: 42809
SQL0157N name は、基本表を識別しないため、FOREIGN KEY 節では使用できません。
説明
オブジェクト name が、CREATE または ALTER TABLE ステートメントの FOREIGN KEY 節に指定されました。 FOREIGN KEY 節は基本表を識別していなければなりません。
ステートメントは処理できません。 指定した表は作成または変更されません。
ユーザー応答
ステートメントを修正して、FOREIGN KEY 節内に基本表名を指定してください。
別名を指定する場合は、別名が基本表名に解決されることを確認してください。
sqlcode: -157
sqlstate: 42810
SQL0158N name に指定された列の数が、結果表の列の数と同じではありません。
説明
- CREATE VIEW ステートメントで命名されたビュー
- 共通表式の表名
- ネストされた表の式の相関名
- CREATE TABLE または ALTER TABLE ステートメントに指定されているマテリアライズ照会表
- CREATE FUNCTION ステートメントに指定されている関数
- CREATE METHOD ステートメントに指定されているメソッド
- CREATE STAGING TABLE ステートメントに指定されているステージング表名
指定された列名の数は、関連した全選択の結果表内の列数 と同じでなくてはなりません。 name がステージング表であり、関連するマテリアライズ照会表に GROUP BY 節が ある場合、指定する列名の数は、ステージング表が定義されているマテリアライズ照会表の 列数より 2 つ多くなければなりません。 関連するマテリアライズ照会表に GROUP BY 節がない場合、 指定する列名の数はマテリアライズ照会表の列の数よりも 3 つ多くなければなりません。
ステートメントは処理できません。
ユーザー応答
name に定義されている列名のリストが 結果表の各列に対して名前を指定するよう、構文を訂正してください。
sqlcode: -158
sqlstate: 42811
SQL0159N ステートメントが、予期しないオブジェクト・タイプを識別するオブジェクトを参照しています。 オブジェクト: object。 オブジェクト・タイプ: object-type。 予期されるオブジェクト・タイプ: expected-object-type。
説明
ステートメントまたはコマンドの一部として指定されているオブジェクト object は、予想されるタイプ expected-object-type ではなく、object-type のオブジェクト・タイプを参照します。
ステートメントまたはコマンドに指定するオブジェクトのタイプは、expected-object-type に示されているタイプと一致する必要があります。 以下に例を示します。
- ステートメントが DROP ALIAS PBIRD.T1 の場合、PBIRD.T1 は別名でなければなりません。
- object-type が TABLE の場合、指定された表のタイプが、そのステートメントではサポートされないタイプである可能性があります。
- CREATE MASK または CREATE PERMISSION ステートメントにより、現行のサーバーに存在する基本表に名前が付けられる必要があります。
ユーザー応答
予期されるオブジェクト・タイプを指定するように、ステートメントまたはコマンドを変更してください。
sqlcode: -159
sqlstate: 42809
SQL0160N WITH CHECK OPTION 文節は、指定されたビューには無効です。
説明
以下の場合は、WITH CHECK OPTION 節をビュー定義で使用することはできません。
- このビューは読み取り専用として定義されています。 SELECT ステートメントに、以下に示す項目のいずれかが入っている場合、ビューは読み取り専用となります。 (これらの条件は SELECT ステートメントの副照会には適用されませんので、注意してください。)
- DISTINCT キーワード
- 選択リスト内の列関数
- GROUP BY または HAVING 節
- 以下のいずれかを示す FROM 節
- 複数の表またはビュー
- 読み取り専用ビュー
- セット演算子 (UNION ALL 以外)
- 副照会の入った CREATE VIEW ステートメントの SELECT ステートメント (いくつかのカタログ表の特定の統計列を除く)
- 指定されたビュー定義が従属しているビューに、INSTEAD OF トリガーが定義されている
- 指定されたビュー定義が従属しているビューに、テキスト検索関数が含まれている
フェデレーテッド・システム・ユーザーの場合: WITH CHECK オプション節は、更新可能なニックネームを参照するビューではサポートされていません。
ステートメントは処理できません。 指定したビューは作成されません。
ユーザー応答
このメッセージにリストされた規則に従うように、WITH CHECK OPTION 文節を削除するか、またはビュー定義を変更してください。
sqlcode: -160
sqlstate: 42813
SQL0161N 挿入または更新操作の結果行がビュー定義に準拠していません。
説明
WITH CHECK OPTION 節が、挿入または更新処理、もしくはターゲットとしてビューを使用する挿入または更新処理で指定された FROM 節のオブジェクトである、 ビュー定義で指定されました。 その結果、処理結果がビュー定義に一致するように、そのビュー内の行に対する 挿入または更新処理のすべてがチェックされます。
ビューをターゲットとする挿入または更新処理が FROM 節にある場合、挿入または更新処理は、そのビューに WITH CHECK OPTION 定義がなされているかのように常に処理されます。
ステートメントは処理できません。 挿入または更新処理は実行されず、ビューおよび基本表の内容は変更されませんでした。
ユーザー応答
ビュー定義を調べて、要求した挿入または更新処理が 拒否された理由を判別してください。 これは、データ固有の条件の場合があることに注意してください。
要求した挿入操作または更新操作によって、ターゲット列への範囲外の値の設定が試行された可能性があります。
フェデレーテッド・システム・ユーザーの場合: 理由が不明な場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースのオブジェクト定義とビュー定義を調べてください。
sqlcode: -161
sqlstate: 44000
SQL0170N 関数 name の引数の数が正しくありません。
説明
示されたスカラー関数 name 内の引数の 数が、少なすぎるかまたは多すぎます。
ステートメントは処理できません。
ユーザー応答
そのスカラー関数に指定した引数の数が正しいことを 確認してください。
sqlcode: -170
sqlstate: 42605
SQL0171N ルーチン routine-name の位置 n にあるパラメーターの引数のデータ・タイプ、長さ、または値が正しくないため、ステートメントは処理されませんでした。 パラメーター名: parameter-name。
説明
このメッセージは、以下の 2 つのシナリオで返される可能性があります。
- ルーチンのパラメーターの引数のデータ・タイプ、長さ、または値が誤っている。
- 矛盾するかサポートされていないパラメーターの組み合わせが指定された。
位置が適用外か不明の場合は、n で値 0 が返されます。 パラメーター名が適用外か不明の場合は、parameter-name で空ストリングが返されます。
ユーザー応答
ルーチンのパラメーターの規則を見直して、トークン parameter-name で指定されたパラメーターについてどこが誤っているのかを判別してください。
- 必須パラメーターおよびサポートされているパラメーター
- パラメーターの有効な引数の範囲
- パラメーターの有効な組み合わせ
有効なパラメーターを指定して再度ルーチンを呼び出します。
sqlcode: -171
sqlstate: 5UA0J、5UA05、5UA06、5UA07、5UA08、5UA09、2201G、2201T、2201V、10608、22003、22014、22016、22546、42815
SQL0172N name は有効な関数名ではありません。
説明
SQL ステートメントに、認識できないスカラー関数が入っています。
ステートメントは処理できません。
ユーザー応答
示された関数名のつづりが正しいことを確認してください。
sqlcode: -172
sqlstate: 42601
SQL0176N TRANSLATE スカラー関数の 2 番目、3 番目、または 4 番目の引数が正しくありません。
説明
- TRANSLATE スカラー関数では、異なるバイト数でエンコードされた他の文字による、文字の置き換えが許されない。 たとえば、1 バイト文字が 2 バイト文字で置き換えられないだけでなく、2 バイト文字も 1 バイト文字で置き換えることができません。
- TRANSLATE スカラー関数の 2 番目と 3 番目の引数は、正しい形式の文字で 終わる必要があります。
- TRANSLATE スカラー関数の最初の引数が CHAR または VARCHAR の 場合、4 番目の引数は、正しい形式の 1 バイト文字でなければなりません。
- TRANSLATE スカラー関数の最初の引数が GRAPHIC または VARGRAPHIC の 場合、4 番目の引数は、正しい形式の 2 バイト文字でなければなりません。
ステートメントは処理できません。
ユーザー応答
TRANSLATE スカラー関数の 2 番目、3 番目、4 番目の引数が正しい値を 持っていることを確認してください。
sqlcode: -176
sqlstate: 42815
SQL0180N 日時値のストリング表記の構文が正しくありません。
説明
日付、時刻、またはタイム・スタンプの値のストリング表記が、指定されたデータ・タイプまたは暗黙的なデータ・タイプの構文に 合っていません。
ステートメントは処理できません。
ユーザー応答
日付、時刻、またはタイム・スタンプの値の構文が、そのデータ・タイプの 構文にしたがっていることを確認してください。 そのストリングを日付、時刻、またはタイム・スタンプの値として 使用していない場合は、使用時に、そのデータ・タイプにならないことを確認してください。
フェデレーテッド・システム・ユーザーの場合: 問題はデータ・ソースでの日付/時刻表示の問題が原因である可能性があります。 理由が不明な場合は、問題を分離して要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースの日時表示の制約事項を調べてください。
sqlcode: -180
sqlstate: 22007
SQL0181N 日時 (DATETIME) 型値の文字列表現が範囲外です。
説明
日付、時刻、またはタイム・スタンプの値のストリング表記に、許容範囲を超える値が入っています。
このエラーは、アプリケーションが日時値の作成に使用したフォーマットとは異なる 日時フォーマットのテリトリー・コードを使って、 アプリケーションから日時値にアクセスしたことが原因で発生した可能性があります。 たとえば、dd/mm/yyyy のフォーマットで保管されたストリングの日付時刻値は、mm/dd/yyyy フォーマットを採用するアプリケーションを使用するときには無効になります。
日付、時刻、またはタイム・スタンプの値の有効な範囲は、以下のとおりです。
- 年の場合、0001 から 9999。
- 月の場合、1 から 12。
- 日の場合、1 から 31 (月が 1、 3、 5、 7、 8、 10、 12 の場合)。
- 日の場合、1 から 30 (月が 4、6、9、11 の場合)。
- 日の場合、1 から 28 (月が 2 (うるう年でない) 場合)。
- 日の場合、1 から 29 (月が 2 (うるう年) の場合)。
- 時間の場合、0 から 24。 時刻が 24 の場合、他の表示データは 0 になります。 時間フォーマットが USA の場合は、時刻は 12 以下でなければなりません。
- 分の場合、0 から 59。
- 秒の場合、0 から 59。
- 小数秒の場合、0 から 999999999999。
- 年間通算日の場合、001 から 365 (うるう年でない)。
- 年間通算日の場合、001 から 366 (うるう年)。
フェデレーテッド・システム・ユーザーの場合: 問題はデータ・ソースでの日付/時刻表示の問題が原因である可能性があります。 データ・ソースでの日付と時刻の値の範囲については、データ・ソースの資料を参照してください。 理由が不明な場合は、問題を分離して要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースの日時表示の制約事項を調べてください。
ステートメントは処理できません。
ユーザー応答
指定した値が有効な範囲内にあることを確認してください。また、アプリケーションの日付時刻フォーマットがそのストリング値と同じであることも 確認してください。
sqlcode: -181
sqlstate: 22007
SQL0182N 日時 (DATETIME) 型値またはラベル付き期間を持つ式が無効です。
説明
指定された表現に、正しくない日付の値、時刻の値、タイム・スタンプの値、または ラベル付き期間が使用されています。
ステートメントは処理できません。
ユーザー応答
SQL ステートメントを調べて問題の原因を判別し、ステートメントを訂正してください。
sqlcode: -182
sqlstate: 42816
SQL0183N 日時算術演算または日時スカラー関数が、日付の有効範囲内にない結果を持っています。
説明
演算処理の値が日付またはタイム・スタンプで、0001-01-01 から 9999-12-31 までの範囲を超えています。
ステートメントは実行できません。
ユーザー応答
SQL ステートメントを調べて、問題の原因を判別してください。 問題がデータによるものであれば、エラーが発生した時点で処理されていたデータを調べてください。
sqlcode: -183
sqlstate: 22008
SQL0187N 現在の日付/時刻特殊レジスターへの参照が無効です。
説明
日付/時刻情報の検索時に、オペレーティング・システムがエラーを見つけました。
ユーザー応答
システム TOD クロックと時間帯の設定が正しいことを確認してください。
sqlcode: -187
sqlstate: 22506
SQL0190N ALTER TABLE table-name は、既存の列と互換性のない列 column-name の属性を指定しました。
説明
ALTER TABLE ステートメントにある表 table-name の列 column-name で ALTER COLUMN 節に指定されている属性に、既存の列の属性との互換性がありません。 以下のいずれかの理由で、エラーが返されました。
- 既存の列に SET DATA TYPE 節が指定されているが、以下のような場合。
- データ・タイプが変更できるタイプではない
- 既存のデータまたはデフォルト値のデータ・タイプを変換すると、オーバーフロー、許可されない切り捨て、またはキャスト・エラーが発生する可能性がある
- データ・タイプを新しいデータ・タイプに変更できない
- 現在のデータ・タイプが SYSPROC.DB2SECURITYLABEL で、変更できない
- データ・タイプを SYSPROC.DB2SECURITYLABEL に変更できない
- SET EXPRESSION 節が指定されているが、既存の列が次のような場合。
- 式を使用して生成されるよう定義されていない
- 表パーティション・キーの一部である
- DROP COLUMN SECURITY オプションが指定されているが、列がまだセキュリティー・ラベルで保護されていない。
- DROP DEFAULT が指定されているが、列がデフォルトの属性を使用して定義されていない。
- DROP IDENTITY が指定されているが、列が ID 列として定義されていない。
- DROP EXPRESSION が指定されているが、列が生成式を使用して定義されていない。
- SET DEFAULT が指定されているが、列が生成の別の形式 (ID または式) で既に定義されていて、 対応する DROP が同じステートメントに含まれていない。
- SET GENERATED ALWAYS AS (式) が指定されているが、 生成の 1 つの形式 (デフォルト、ID、または式) を使用して列が既に定義されていて、 対応する DROP が同じステートメントに含まれていない。
- SET GENERATED ALWAYS AS IDENTITY または SET GENERATED BY DEFAULT AS IDENTITY が指定されているが、 生成の 1 つの形式 (デフォルト、ID、または式) を使用して既に列が定義されていて、 対応する DROP が同じステートメントに含まれていない。
- SET GENERATED ALWAYS または SET GENERATED BY DEFAULT が指定されているが、 列が ID 列でない。
- 列を行開始、行終了、またはトランザクション開始 ID 列に変更するために SET GENERATED を使用して ALTER COLUMN が指定されているが、列がすでに生成された列として定義されている。
- 列を行開始、行終了、トランザクション開始 ID 列に変更するために ALTER COLUMN が指定されているが、列がすでにユーザー指定のデフォルト値を使用して定義されている。
- ALTER COLUMN SET DATA TYPE が指定されているが、BUSINESS_TIME 期間の開始列または終了列の精度が減った。 精度を減らすことはできません。
- ALTER COLUMN SET DEFAULT が指定されているが、列が生成された列である。
- DROP DEFAULT が指定されているが、列が行開始列、行終了列、またはトランザクション開始 ID 列である。
- DROP GENERATED が指定されているが、列が生成された列ではない。
- DROP NOT NULL が指定されているが、列が表の主キーで指定されているか、列が ID 列、行変更タイム・スタンプ列、行開始列、行終了列、またはランダム分散キー列である。
- SET NOT NULL が指定されているが、列がランダム分散キー列である。
ステートメントは処理できません。
ユーザー応答
指定された属性に既存の列との互換性を与え、属性指定を除去するか、 または異なる列名を指定してください。 SET DATA TYPE 節を指定した場合、通知ログを調べて、ALTER COLUMN 不能の原因となった可能性のある対立する行をリストしている項目があるかどうか確認してください。 すでにユーザー定義のデフォルト値を持っている列に対して ALTER COLUMN が指定された場合、列定義を変更する前に、ALTER TABLE ステートメントを発行してデフォルトをドロップする必要があります。
sqlcode: -190
sqlstate: 42837
SQL0191N MBCS 文字がフラグメント化されているため、エラーが発生しました。
説明
考えられる原因は次のとおりです。
- ユーザー・データに正しくない形式のマルチバイト文字が入っていた。 たとえば、DBCS 文字の最初のバイトは見つかったが、2 番目のバイトが見つからないというような場合です。
- SUBSTR または POSSTR などのスカラー関数がマルチバイト・ストリングを不正に切り捨てた。 これらの関数については、データベース・コード・ページのコンテキスト内で、 開始および長さの値がバイト単位で正しくなければなりません。 Unicode データベースについては、これと共通の原因として、 UTF-8 ストリングの開始および長さが正しくない可能性があります。
- TRANSLATE などのスカラー関数がマルチバイト・ストリングを変更した。
フェデレーテッド・システム・ユーザーの場合: この状態はデータ・ソースによっても検出できます。
ユーザー応答
- 入力データを訂正して、もう一度やり直してください。
- 文字がデータベース・コード・ページに変換されるときに開始および長さの値を変更して、マルチバイト文字が不正に切り捨てられないようにしてください。
- エラーのある TRANSLATE を訂正してください。
フェデレーテッド・システム・ユーザーの場合: データが正しい場合には、問題を切り分けて要求失敗の原因となったデータ・ソースを突き止め、そのデータ・ソースの DBCS 制約事項を調べてください。 データが正確であるようならば、IBM サービスに連絡してください。
sqlcode: -191
sqlstate: 22504
SQL0193N ALTER TABLE ステートメントで、列 column-name が NOT NULL として指定され、DEFAULT 節が指定されなかったか、DEFAULT NULL として指定されました。
説明
すでに存在する表に新しい列を追加する場合は、すべての既存の行の 新しい列に対して、値を割り当てる必要があります。 デフォルトでは、null 値が割り当てられます。 ただし、列が NOT NULL として定義されているので、NULL 以外のデフォルト値を 定義する必要があります。
ユーザー応答
列の NOT NULL 制約を取り除くか、または 列に対して NULL 以外のデフォルト値を指定してください。
sqlcode: -193
sqlstate: 42601
SQL0195N table-name の最後の列はドロップできません。
説明
ALTER TABLE ステートメントを使用して、1 つ以上の列をドロップしようとしました。 表を変更するときには、既存の列が 少なくとも 1 つ保持されている必要があるため、表 table-name から列をドロップすることはできません。
ユーザー応答
ALTER ステートメント完了後に、表 table-name に少なくとも 1 つの列があるようにしてください。 いずれかの列の DROP を除去して要求を再試行するか、またはすべての列を削除する必要があれば、表をドロップし、表を作成し直してください。
sqlcode: -195
sqlstate: 42814
SQL0196N 表名 内の列 列名 はドロップできません。 理由コード = reason-code。
説明
列 column-name をドロップしようとしました。 列をドロップできない理由を説明する理由コードを参照してください。
- 1
この列は、マルチノード分散キー、表パーティション・キー、または MDC 編成ディメンションの一部であるため、削除できません。
- 2
システム生成の列がこの列に依存しているため、この列をドロップすることはできません。
- 3
タイプ SYSPROC.DB2SECURITYLABEL の列はドロップできません。
- 4
この列は期間の定義で参照されているため、ドロップすることはできません。
- 5
この列は、システム期間テンポラル表の列であるため、ドロップすることはできません。
- 6
この列は、履歴表の列であるため、ドロップすることはできません。
ユーザー応答
- 1
表のキーまたはディメンションが変更されるまで、この列はドロップできません。
- 2
従属する列の生成式を変更してください
- 3
タイプ SYSPROC.DB2SECURITYLABEL の列を作成せずに表をドロップして再作成してください。
- 4
列のドロップを要求しているステートメントを変更してください。
- 5
システム期間テンポラル表から列をドロップするには、関連付けられている履歴表から列をドロップする必要もあります。 以下のステップを使用すると、両方の表から列をドロップできます。
- システム期間テンポラル表を変更し、バージョン管理をドロップします。 これにより、表の間のリンクが切断されます。
- システム期間テンポラル表を変更し、列をドロップします。
- 履歴表であった表を変更し、列をドロップします。
- 以前のシステム期間テンポラル表を変更し、バージョン管理を追加します。 これにより、表の間のリンクが再設定されます。
- 6
履歴表から列をドロップするには、関連付けられているシステム期間テンポラル表から列をドロップする必要もあります。 以下のステップを使用すると、両方の表から列をドロップできます。
- システム期間テンポラル表を変更し、バージョン管理をドロップします。 これにより、表の間のリンクが切断されます。
- システム期間テンポラル表を変更し、列をドロップします。
- 履歴表であった表を変更し、列をドロップします。
- 以前のシステム期間テンポラル表を変更し、バージョン管理を追加します。 これにより、表の間のリンクが再設定されます。
sqlcode: -196
sqlstate: 42817
SQL0197N 修飾された列名は ORDER BY 文節では使用できません。
説明
セット演算子 (UNION、EXCEPT、INTERSECT) の入った全選択の ORDER BY 節は、修飾された列名を持つことができません。
ユーザー応答
ORDER BY 節のすべての列名が無修飾であることを確認してください。
sqlcode: -197
sqlstate: 42877
SQL0198N PREPARE または EXECUTE IMMEDIATE ステートメントのステートメント・ストリングがブランクまたは空です。
説明
PREPARE または EXECUTE IMMEDIATE ステートメントの オブジェクトであるホスト変数がすべてブランクであるか、または 空のストリングです。
PREPARE または EXECUTE IMMEDIATE ステートメントは完了されません。
ユーザー応答
プログラムの論理を修正して、ステートメントが実行される前に、PREPARE または EXECUTE IMMEDIATE ステートメントのオペランドに有効な SQL ステートメントを指定してください。
sqlcode: -198
sqlstate: 42617
SQL0199N text の後に予約語 keyword を使用することは無効です。 予期されたトークンに token-list が含まれている可能性があります。
説明
予約語 keyword が text の後に現れたときに、 ステートメントのその位置で SQL ステートメントの構文エラーが検出されました。 「text」フィールドは、予約語の前にある 20 文字の SQL ステートメントを示しています。 ステートメント内の節が間違った順になっている可能性があります。
プログラマーへの解決の手掛かりして、token-list として、SQLCA の「SQLERRM」フィールドに有効なトークンの一部のリストが提供されます。 このリストは、その時点までのステートメントが正しいと想定しています。
ステートメントは処理できません。
ユーザー応答
キーワード域のステートメントを調べてください。 コロンまたは SQL 区切り文字が欠落している場合は、追加してください。 節が正しい順序で指定されていることを確認してください。 メッセージに示されている予約語が予約語としてリストされている場合は、 その語を区切り ID にしてください。
注: このエラーは、バージョン 2 以前の DB2 のリリースにのみ適用されます。
sqlcode: -199
sqlstate: 42601
SQL0203N 列 name への参照があいまいです。
説明
- FROM 節に指定された、同じ名前の列を持つ 2 つの表
- 選択リストの複数の列に適用される名前を参照する ORDER BY 節
- 指示するための相関名を使用しない CREATE TRIGGER ステートメントのサブジェクト表の列に対する参照(それが古いまたは新しい遷移変数を参照する場合)
列名には、どの表の列なのかを明確にするために、より詳細な情報が必要です。
ステートメントは処理できません。
ユーザー応答
列名に修飾子を追加してください。 修飾子は表名または相関名です。 選択リストの列の名前の変更が必要になる場合があります。
sqlcode: -203
sqlstate: 42702
SQL0204N name は未定義の名前です。
説明
このエラーは、以下のいずれかが原因です。
- name によって示されているオブジェクトが、データベースに定義されていません。
- name によって示されているオブジェクトが、モジュールに定義されており、公開されたモジュール・オブジェクトではなく、モジュールの外部から参照されていました。
- name によって示されているデータ・パーティションが、表に定義されていません。
- データ・タイプが使用されています。 このエラーは、以下の理由で発生する可能性があります。
- name が修飾されている場合は、この名前のデータ・タイプは、修飾子と一致するスキーマ、またはユーザーの SQL パスに基づいて最初に検出された修飾子と一致するモジュールのどちらにも存在しません。
- name が修飾されていない場合は、ユーザーのパスに必要なデータ・タイプが属しているスキーマが入っていないか、または参照がモジュール・ルーチン内にあれば、データ・タイプがモジュールで定義されていません。
- パッケージがバインド時間より前の作成タイム・スタンプのデータベースには、 データ・タイプはありません (静的ステートメントに該当します)。
- データ・タイプが CREATE TYPE ステートメントの UNDER 節にある場合は、 タイプ名は定義されたタイプと同じの可能性があります。 これは有効ではありません。
- 関数が以下のいずれかで参照されています。
- DROP FUNCTION ステートメント
- COMMENT ON FUNCTION ステートメント
- CREATE FUNCTION ステートメントの SOURCE 節
name が修飾されている場合は、関数が存在しません。 name が修飾されていない場合は、この名前の関数が現行パスのいずれのスキーマにも存在しません。
関数は、COALESCE、DBPARTITIONNUM、GREATEST、HASHEDVALUE、LEAST、MAX (scalar)、MIN (scalar)、 NULLIF、RID、NVL、RAISE_ERROR、TYPE_ID、TYPE_NAME、TYPE_SCHEMA、または VALUE 組み込み関数から入手することはできないことに注意してください。
- name という名前のエレメントが CREATE SECURITY LABEL COMPONENT ステートメントの UNDER 節の右側で使用されていますが、ROOT としてまたは他のエレメントの UNDER であるとしてまだ定義されていません。
- セキュリティー・ラベル・コンポーネント・エレメント name がまだ定義されていません。
- 以下のいずれかのスカラー関数が、データベースで定義されていない name によって示されるセキュリティー・ポリシーを指定しました。
- SECLABEL
- SECLABEL_TO_CHAR
- SECLABEL_BY_NAME
この戻りコードは、すべてのタイプのデータベース・オブジェクトに対して生成されます。
フェデレーテッド・システム・ユーザーの場合: name によって識別されるオブジェクトがデータベースで定義されていないか、または name が DROP NICKNAME ステートメントでニックネームになっていません。
一部のデータ・ソースは、name に適切な値を提供しません。 そのような場合、メッセージ・トークンの形式は "OBJECT:<data source> TABLE/VIEW" になります。指定のデータ・ソースの実際の値は不明だという意味です。
ステートメントは処理できません。
ユーザー応答
オブジェクト名 (必須の修飾子を含む) が、SQL ステートメントに正しく指定されており、それが存在することを 確認してください。 名前がデータ・パーティションを指す場合は、カタログ表 SYSCAT.DATAPARTITIONS を照会して、表のすべてのデータ・パーティションの名前を検索してください。 SOURCE 節にデータ・タイプまたは関数が抜けている 場合は、オブジェクトが存在しない可能性があるか、または オブジェクトはどこかに存在しているが、スキーマが パスに存在しない可能性があります。
CREATE または ALTER SECURITY LABEL COMPONENT ステートメントでは、新規のエレメント値のロケーションを位置指定するための、参照エレメント値として指定された各エレメントが、セキュリティー・ラベル・コンポーネントにすでに存在することを確認してください。
CREATE SECURITY LABEL COMPONENT ステートメントでは、各エレメントを、UNDER 節で親として指定する前に、ROOT としてまたは UNDER 節で子として指定されていることを確認してください。
スカラー関数 SECLABEL、SECLABEL_TO_CHAR、または SECLABEL_BY_NAME では、引数 security-policy-name に有効なセキュリティー・ポリシーが指定されていることを確認してください。
フェデレーテッド・システム・ユーザーの場合: ステートメントが DROP NICKNAME の場合は、オブジェクトが実際にニックネームであるかどうかを確認してください。 オブジェクトはフェデレーテッド・データベースまたはデータ・ソースに存在しない可能性があります。 フェデレーテッド・データベース・オブジェクトとデータ・ソース・オブジェクト (存在する場合) の存在を確認してください。
sqlcode: -204
sqlstate: 42704
SQL0205N Column、attribute、または period name が object-nameに定義されていません。
説明
object-name が表またはビューである場合は、name は object-name で定義されていない列または期間です。 object-name が構造化タイプである場合は、name は、object-name で定義されていない属性です。
フェデレーテッド・システム・ユーザーの場合: object-name はニックネームを参照できます。
ステートメントは処理できません。
ユーザー応答
object-name が表またはビューである場合は、列または期間、および表またはビューの名前 (必須の修飾子を含む) が、SQL ステートメントに正しく指定されていることを確認してください。 object-name が構造化タイプの場合は、属性およびタイプ名 (必須の修飾子を含む) が SQL ステートメントに正しく指定されていることを確認してください。
また、REORG または IMPORT 時にこのエラーを受け取った場合は、 索引の列名が「SQL リファレンス」で定義されているデータベース・マネージャー命名規則に違反している可能性があります。
sqlcode: -205
sqlstate: 42703
SQL0206N name は、使用されているコンテキストでは無効です。
説明
このエラーは、以下の場合に発生する可能性があります。
- INSERT または UPDATE ステートメントの場合は、指定された列が表の列でないか、 あるいは挿入または更新のオブジェクトとして指定されたビューではありません。
- SELECT または DELETE ステートメントの場合は、指定された列が、 ステートメント内の FROM 節で識別された表またはビューの列ではありません。
- 割り当てステートメントの場合、参照名は、列名または変数名には解決されません。
- 行タイプ変数のフィールドを参照する場合、参照名は、行タイプ内のどのフィールドの名前にも解決されません。
- ORDER BY 節については、指定した列が、許可されない副選択の相関列参照となっています。
- パラメーター化カーソル・コンストラクター内の SELECT ステートメントの場合、name への参照は、列または有効範囲内の変数には一致しません。 ローカル変数およびルーチン SQL パラメーターは、パラメーター化カーソルの有効範囲内とは見なされません。
- スタンドアロン・コンパウンド SQL (コンパイル済み) ステートメントの場合は、以下のとおりです。
- 参照 name は、有効範囲内の列またはローカル変数の名前には解決されません。
- SIGNAL ステートメントに指定された条件名 name は、まだ宣言されていません。
- 行タイプ変数のフィールドを参照する場合、参照名は、行タイプ内のどのフィールドの名前にも解決されません。
- CREATE TRIGGER、CREATE METHOD、CREATE FUNCTION、または CREATE PROCEDURE ステートメントの場合は、以下のとおりです。
- 参照名 name は、列名、ローカル変数、または遷移変数には解決されません。
- 参照 name は、現在の有効範囲内で使用できないローカル変数の名前に解決されます。
- SIGNAL ステートメントに指定された条件名 name は、まだ宣言されていません。
- 行タイプ変数のフィールドを参照する場合、参照名は、行タイプ内のどのフィールドの名前にも解決されません。
- CREATE TRIGGER ステートメントの場合は、以下のとおりです。
- OLD または NEW 相関名を使用せずに、参照がサブジェクト表の列に対して行われました。
- トリガー・アクションの SET 遷移変数ステートメントの 割り当ての左側が、新しい遷移変数のみがサポートされる場所で、古い遷移変数を指定しました。
- PREDICATES 節を指定された CREATE FUNCTION ステートメントの場合は、以下のとおりです。
- SQL 関数の RETURN ステートメントが、パラメーターではない変数、または RETURN ステートメントの 有効範囲にない他の変数を参照しています。
- FILTER USING 節が、パラメーター名ではないか、または WHEN 節内の式名ではない変数を参照しています。
- 索引指数規則の検索ターゲットが、作成中の関数のパラメーター名に一致していません。
- 索引指数規則の検索引数が、EXPRESSION AS 節内の式名、または作成中の関数のパラメーター名に一致していません。
- CREATE INDEX EXTENSION ステートメントの場合、RANGE THROUGH 節または FILTER USING 節が、節で使用できるパラメーター名ではない変数を参照しています。
- パラメーター化カーソル変数参照の場合、パラメーター化カーソル変数の定義で使用される SELECT ステートメントで参照されるローカル SQL 変数または SQL パラメーターは、現在の有効範囲内では使用できません。
- 期間参照の場合、指定した期間が、ステートメント内のソースまたはターゲットの表またはビューにありません。
ステートメントは処理できません。
ユーザー応答
名前が SQL ステートメントに正しく指定されていることを確認してください。 SELECT ステートメントの場合は、すべての必須の表が FROM 節に指定されていることを確認してください。 ORDER BY 節の副選択については相関列参照がないので、注意してください。 表に対して相関名を使用している場合は、後続の参照が、表名ではなく、相関名を使用していることを確認してください。
CREATE TRIGGER ステートメントの場合は、新しい遷移変数のみが SET 遷移変数ステートメントの割り当ての左側に指定されており、サブジェクト表の列に対する参照に、相関名が指定されていることを確認してください。
スタンドアロン・コンパウンド SQL ステートメント、CREATE FUNCTION、CREATE PROCEDURE、または CREATE TRIGGER ステートメントの場合は、列または変数が現在のコンパウンド SQL ステートメントの有効範囲内で使用可能であることを確認してください。
db2-fn:sqlquery 関数を使用して XQuery に組み込まれた全選択の場合、全選択内の参照は、全選択のコンテキスト内の列、またはグローバル変数、あるいは db2-fn:sqlquery 関数の追加引数を使用して新しい SQL コンテキストに渡されるパラメーターのいずれかでなければなりません。
sqlcode: -206
sqlstate: 42703
SQL0207N セット演算子で使用される SELECT ステートメントの ORDER BY 文節では、列名は使用できません。
説明
セット演算子を持つ SELECT ステートメントに、列名を指定する ORDER BY 節が入っています。 この場合、ORDER BY 節の列のリストは、整数しか持つことができません。
ステートメントは処理できません。
ユーザー応答
ORDER BY 節の列リストの中には、整数のみを指定してください。
注: このエラーは、バージョン 2 以前の DB2 と DB2 Connect を介してアクセスされるホストにのみ適用されます。
sqlcode: -207
sqlstate: 42706
SQL0208N 列 name が結果表の一部ではないため、ORDER BY 節は無効です。
説明
ORDER BY リスト中に指定されている列 name が、SELECT リスト中に指定されておらず、結果表にも無いため、ステートメントは有効ではありません。 SELECT ステートメントの全選択が副選択でない場合、結果表の列のみが、その結果の順序付けに使用できます。
ステートメントは処理できません。
ユーザー応答
示された列を結果表へ追加するか、または ORDER BY 節から 削除して、ステートメントの構文を訂正してください。
sqlcode: -208
sqlstate: 42707
SQL0212N name は、重複する表指定子であるか、トリガー定義の REFERENCING 節で複数回指定されています。
説明
name によって指定されている表、ビュー、別名、または 相関名が、同一の FROM 節中にある表、ビュー、別名、または相関名と同じです。
ステートメントが CREATE TRIGGER の場合は、REFERENCING 節が、サブジェクト表と同じ名前を指定する場合が、あるいは OLD または NEW 相関名、あるいは NEW_TABLE または OLD_TABLE ID の複数に対して、同じ名前を 持つ場合があります。
ステートメントは処理できません。
ユーザー応答
SELECT ステートメントの FROM 節を訂正してください。 相関名を表名、ビュー名、別名に関連させて、表名、ビュー名、別名、または 相関名が FROM 節内の他の表名、ビュー名、別名、または相関名と 同じにならないようにしてください。
CREATE TRIGGER ステートメントの場合は、REFERENCING 節内の名前を、重複しないように変更してください。
sqlcode: -212
sqlstate: 42712
SQL0213N パラメーター parameter-name がルーチン routine-nameにありません。
説明
名前が parameter-name のパラメーターが、 ルーチン routine-name 内に存在しません。
ユーザー応答
ルーチンに対して存在するパラメーター名を指定してから、ステートメントを再サブミットします。
sqlcode: -213
sqlstate: 42703
SQL0214N 以下の位置にある ORDER BY 節の式、または clause-type 節にある expression-start-or-order-by-position で始まる式は無効です。 理由コード = reason-code。
説明
以下のような reason-code で示された理由で、 clause-type 節の式 expression-start-or-order-by-position の最初の部分で定義した式が無効です。
- 1
SELECT ステートメントの全選択は、副選択ではありません。 このタイプの SELECT ステートメントについては、ORDER BY 節に式は許可されません。 clause-type が ORDER BY である場合のみ、この理由コードが発生します。
- 2
SELECT 節に DISTINCT が指定され、SELECT リストの式にちょうど一致する式ではありません。 clause-type が ORDER BY である場合のみ、この理由コードが発生します。
- 3
ORDER BY 節に列関数があるため、グループ化が発生しています。 clause-type が ORDER BY である場合のみ、この理由コードが発生します。
- 4
GROUP BY 節の式はスカラー全選択を含めることはできません。 clause-type が GROUP BY である場合のみ、この理由コードが発生します。
- 5
GROUP BY 節では、間接参照演算子の左辺は可変関数にできません。 clause-type が GROUP BY である場合のみ、この理由コードが発生します。
- 6
ORDER BY 節の式に、XMLQUERY または XMLEXISTS を組み込むことはできません。 clause-type が ORDER BY である場合のみ、この理由コードが発生します。
- 7
GROUP BY 節の式に、XMLQUERY または XMLEXISTS を組み込むことはできません。 clause-type が GROUP BY である場合のみ、この理由コードが発生します。
- 8
LISTAGG 関数で DISTINCT が指定され、最初の引数式が WITHIN GROUP 節で指定された ORDER BY の最初のソート・キー式と正確に一致しません。 clause-type が ORDER BY である場合のみ、この理由コードが発生します。
- 9
集約関数の clause-type で示されている ORDER BY 節のソート・キーのデータ・タイプが正しくありません。
- 10
集約関数の clause-type で示されている ORDER BY 節のソート・キー式の数が、式の数と同じではありません。
- 11
集約関数の clause-type で示されている ORDER BY 節のソート・キーのデータ・タイプが、対応する式のデータ・タイプと互換性がありません。
ステートメントは処理できません。
ユーザー応答
次のように reason-code が指定する理由に基づき、SELECT ステートメントを修正してください。
- 1
ORDER BY 節から式を除去してください。 結果の列を参照する場合は、ソート・キーを単一整数または単一列名の形式に変更してください。
- 2
SELECT 節から DISTINCT を除去するか、ソート・キーを単一整数または単一列名の形式に変更してください。
- 3
GROUP BY 節を追加するか、または ORDER BY 節から列関数を除去してください。
- 4
GROUP BY 節から、あらゆるスカラー全選択を除去してください。 スカラー全選択に基づいた結果の列をグループ化させる場合は、ネストした表の式または共通の表の式を使用し、結果の列としての式で結果の表をまず提供してください。
- 5
GROUP BY 節で、間接参照演算子の左辺から任意の可変関数を除去してください。
- 6
ORDER BY 節から XMLQUERY または XMLEXISTS 式をすべて除去してください。 XMLQUERY または XMLEXISTS 式に基づいた結果の列を順序付けする場合は、ネストした表の式または共通の表の式を使用し、その式を結果の列として結果表にまず提供してください。
- 7
GROUP BY 節から XMLQUERY または XMLEXISTS 式をすべて除去してください。 XMLQUERY または XMLEXISTS 式に基づいた結果の列をグループ化する場合は、ネストした表の式または共通の表の式を使用し、その式を結果の列として結果表にまず提供してください。
- 8
LISTAGG 関数から DISTINCT を除去するか、WITHIN GROUP 文節で指定した ORDER BY の最初のソート・キー式が LISTAGG 関数の最初の引数式と一致するように変更します。
- 9
集約関数の ORDER BY 節のソート・キーに有効なデータ・タイプを指定し、ルーチンの再呼び出しを行います。
- 10
集約関数の ORDER BY 節のソート・キー式の数を式の数と同じに指定し、ルーチンの再呼び出しを行います。
- 11
集約関数の ORDER BY 節のソート・キーのデータ・タイプに、対応する式のデータ・タイプと互換性のあるものを指定し、ルーチンの再呼び出しを行います。
sqlcode: -214
sqlstate: 42822
SQL0216N 述部演算子の両側にあるエレメントの数が一致しません。 述部演算子は predicate-operator です。
説明
述部には、述部演算子の右または左側 (または両側) に、エレメントのリストが備えられています。 エレメント数は両側で同じものでなくてはなりません。 これらのエレメントは括弧で囲まれた式のリスト内に、または全選択にリストを選択する エレメントとして表示される可能性があります。
ステートメントは処理できません。
ユーザー応答
述部演算子で、エレメント数が一致していない述部を訂正してください。
sqlcode: -216
sqlstate: 428C4
SQL0217W Explain 情報要求のみが処理されているため、ステートメントは実行されませんでした。
説明
いずれかの Explain 特殊レジスターの現行値が、EXPLAIN に設定されています。 この値を使えば、動的 SQL ステートメントの準備と Explain を 行うことはできますが、動的ステートメントを実行することはできません。
ユーザー応答
この状態になったインターフェースまたは アプリケーションから、適切な SET ステートメントを 発行して、EXPLAIN 以外を設定するように、該当する Explain 特殊レジスターの値を変更してください。
sqlcode: +217
sqlstate: 01604
SQL0219N 必要な Explain 表 name が存在しません。
説明
Explain 機能が呼び出されましたが、必須の Explain 表 name を 見つけることができませんでした。 Explain 機能を呼び出す前に、Explain 表を作成する必要があります。
ユーザー応答
必須の EXPLAIN 表を作成してください。 Explain 表を作成するために必要な SQL データ定義言語ステートメントは、sqllib の下の misc ディレクトリーの EXPLAIN.DDL というファイルの中にあります。
sqlcode: -219
sqlstate: 42704
SQL0220N Explain 表 name、列 name2 に適切な定義がないか、欠落しています。
説明
- 正しくない列数が定義されています。( name2 が数値の場合)
- 正しくないデータ・タイプが列に割り当てられています。( name2 が列名の場合)
- 表の CCSID が間違っています。
ユーザー応答
示された Explain 表の定義を訂正してください。 Explain 表を作成するために必要な SQL データ定義言語ステートメントは、sqllib の下の misc ディレクトリーの EXPLAIN.DDL というファイルの中にあります。
sqlcode: -220
sqlstate: 55002
SQL0222N カーソル cursor-nameを使用してホールに対して操作が試行されました。
説明
SQLSTATE が 24510 の場合、エラーが発生しました。 SENSITIVE STATIC と定義されているカーソル cursor-name を使って位置指定の更新または削除が試みられ、 現在行は、削除ホールまたは更新ホールと識別されました。 ホールが発生するのは、 カーソル cursor-name の結果表の現在行に対応するデータベース内の行を DB2 が更新または削除しようとしたときに、 それに対応する行がもう基礎表内に存在しない場合です。
SQLSTATE が 02502 の場合、これは警告です。 カーソル cursor-name のフェッチの処理中に削除ホールまたは更新ホールが検出されました。 ホールが発生するのは、 カーソル cursor-name の結果表の現在行に対応する行をデータベースから DB2 が再フェッチしようとしたときに、 それに対応する行がもう基礎表内に存在しない場合です。 データは戻されません。
削除ホールが発生するのは、基礎表内の対応する行が削除されてしまっている場合です。
基礎表の対応する行が、カーソルの SELECT ステートメントで指定された検索条件を更新行がこれ以上満たさないような仕方で基礎表内で更新されたときに、更新ホールは発生します。
ステートメントは処理できません。 カーソルはホール上に置かれたままになります。
ユーザー応答
FETCH ステートメントを発行し、ホールではない行上にカーソルを位置付けます。
sqlcode: -222
sqlstate: 02502、24510
SQL0224N 結果表が、カーソル cursor-nameを使用する基本表と一致しません。
説明
位置指定 UPDATE または DELETE が、カーソル cursor-name (SENSITIVE STATIC として定義) を使用して、結果表の列の値が基本表行の現行値と 一致しない行で試行されました。 基本表の行が、結果表に取り出されたときから 位置指定 UPDATE または DELETE が処理されたときまでに更新されたため、 行は一致しません。
ステートメントは処理できません。 カーソル位置は変更されません。
ユーザー応答
分離レベルを変更して、基本表の行をカーソル操作中に再度更新できないようにするか、 あるいは FETCH INSENSITIVE を行うようにアプリケーションを変更して、位置付けされた UPDATE または DELETE を再試行してください。
sqlcode: -224
sqlstate: 24512
SQL0225N カーソルが SCROLL として定義されていないため、カーソル カーソル名 に対する FETCH ステートメントは無効です。
説明
順方向スクロール・カーソル cursor-name に対して、 以下のいずれかの両方向スクロール・カーソル・キーワードと共に FETCH ステートメントが指定されました。 PRIOR、FIRST、LAST、BEFORE、AFTER、CURRENT、ABSOLUTE、または RELATIVE。 順方向スクロール・カーソルに指定できるのは NEXT だけです。 データは取り出されません。
ステートメントは処理できません。 カーソル位置は変更されません。
ユーザー応答
FETCH ステートメントの現在の取り出し方向キーワード (PRIOR または FIRST) を 除去し、NEXT を指定してください。 また、カーソルの定義を両方向スクロールに変更する 方法もあります。
sqlcode: -225
sqlstate: 42872
SQL0227N カーソル カーソル名 の位置 (SQL コード、 SQL 状態) が不明であるため、FETCH NEXT、PRIOR、CURRENT、または RELATIVE は使用できません。
説明
cursor-name のカーソル位置が不明です。 カーソル cursor-name に対する以前の複数行 FETCH で、複数の取り出された行の処理中にエラー (SQLCODE sqlcode、SQLSTATE sqlstate) が発生しました。 要求された 1 つ以上の行はエラーのため プログラムに戻すことはできず、カーソル位置は不明のままになりました。
標識構造が直前の複数行 FETCH で提供されていた場合は、正の SQLCODE が返され、 取り出された行はすべてアプリケーション・プログラムに返されています。
ステートメントは処理できません。 カーソル位置は変更されません。
ユーザー応答
カーソルをクローズして再オープンし、位置をリセットしてください。 両方向スクロール・カーソルの場合は、FETCH ステートメントを変更して、他の取り出しステートメント (FIRST、LAST、BEFORE、AFTER、ABSOLUTE など) の 1 つを指定し、有効なカーソル位置を 設定して、データの行を取り出してください。
sqlcode: -227
sqlstate: 24513
SQL0228N 読み取り専用カーソル カーソル名に FOR UPDATE 文節が指定されています。
説明
カーソル cursor-name は INSENSITIVE SCROLL として定義されて いますが、対応する SELECT ステートメントに FOR UPDATE 節が入っています。
ステートメントは処理できません。
ユーザー応答
読み取り専用カーソルを定義するには、INSENSITIVE を DECLARE CURSOR に指定 しますが、カーソルの SELECT ステートメントの一部として FOR UPDATE 節を指定しないでください。
sqlcode: -228
sqlstate: 42620
SQL0231W カーソル cursor-name の現在位置は、現在行の FETCH には無効です。
説明
FETCH CURRENT または FETCH RELATIVE 0 ステートメントが両方向スクロール・カーソル cursor-name に発行されました。 カーソルが結果表の行に位置付け られていないため、操作は無効です。 FETCH BEFORE または FETCH AFTER ステートメント に続く、あるいは SQLCODE +100 になった FETCH ステートメントに続く現在行の FETCH は許可されません。
ステートメントは処理できません。 カーソル位置は変更されません。
ユーザー応答
現在行の取り出しを行う前に、カーソルが結果表の行に位置付けられていることを確認してください。
sqlcode: +231
sqlstate: 02000
SQL0236W SQLDA は、 integer1 SQLVAR 項目のみを提供します。 integer2 SQLVAR 項目が integer3 列に必要です。 SQLVAR 項目が設定されていません。
説明
SQLDA の「SQLN」フィールドの値は、少なくとも 結果セットの列数と同じ大きさでなければなりません。
データベース・マネージャーは SQLVAR 項目を設定 しません (さらに、SQLDOUBLED フラグは "オフ" (すなわち、スペース文字) に設定されます)。
ユーザー応答
SQLDA の「SQLN」フィールドの値を、メッセージに示されている 値まで増やして (SQLDA がその容量をサポートするための十分な大きさに なるように)、ステートメントの再サブミットを行ってください。
sqlcode: +236
sqlstate: 01005
SQL0237W SQLDA には、 integer1 SQLVAR 項目のみが用意されています。 記述している列の少なくとも 1 つは特殊タイプであるため、integer2 SQLVAR 項目を指定する必要があります。 2 次 SQLVAR 項目が設定されていません。
説明
結果セットの列の少なくとも 1 つが特殊タイプなので、結果セットの 列数と同じ数の SQLVAR 項目について、スペースを 2 回指定する必要があります。 データベース・マネージャーは基本 SQLVAR 項目のみを設定します (さらに、SQLDOUBLED フラグはオフ (すなわち、スペース文字) に設定されます)。
ユーザー応答
結果セットの特殊タイプに関する追加情報が必要でない場合は、アクションを行う必要はありません。 特殊タイプの情報が必要な場合は、SQLDA の「SQLN」フィールドの 値を、メッセージに示されている値まで増やして (その容量を サポートするのに十分な大きさの SQLDA があることを確認した後で)、ステートメントの再サブミットを行う必要があります。
sqlcode: +237
sqlstate: 01594
SQL0238W SQLDA は、 integer1 SQLVAR 項目のみを提供します。 記述されている列の少なくとも 1 つが LOB または構造化タイプであるため、 integer3 列には integer2 SQLVAR 項目が必要です。 SQLVAR 項目が設定されていません。
説明
結果セットの列の少なくとも 1 つが LOB または構造化タイプなので、結果セットの 列数と同じ数の SQLVAR 項目について、スペースを 2 回指定する必要があります。 結果セットの 1 つ以上の列が特殊タイプである可能性にも注意してください。
データベース・マネージャーは SQLVAR 項目を設定しません (さらに、SQLDOUBLED フラグはオフ (すなわち、スペース文字) に設定されます)。
ユーザー応答
SQLDA の「SQLN」フィールドの値を、メッセージに示されている 値まで増やして (その容量をサポートするのに十分な大きさの SQLDA が あることを確認した後で)、ステートメントの再サブミットを行ってください。
sqlcode: +238
sqlstate: 01005
SQL0239W SQLDA は、 integer1 SQLVAR 項目のみを提供します。 記述される列の少なくとも 1 つが特殊タイプまたは参照タイプであるため、 integer3 列には integer2 SQLVAR 項目が必要です。 SQLVAR 項目が設定されていません。
説明
結果セットの列が特殊タイプまたは参照タイプの場合、結果セットの列数と同じ数の SQLVAR 項目について、スペースを 2 回指定する必要があります。
データベース・マネージャーは SQLVAR 項目を設定しません (さらに、SQLDOUBLED フラグはオフ (すなわち、スペース文字) に設定されます)。
ユーザー応答
特殊タイプまたは参照タイプの情報が必要な場合は、SQLDA の「SQLN」フィールドの 値を、メッセージに示されている値まで増やして (その容量を サポートするのに十分な大きさの SQLDA があることを確認した後で)、ステートメントの再サブミットを行う必要があります。 結果セットの特殊タイプまたは参照タイプに関する追加情報が必要でない場合は、結果セットの列数に 適合するのに十分な SQLVAR 項目のみを指定して、ステートメントの再サブミットを行うことができます。
sqlcode: +239
sqlstate: 01005
SQL0242N タイプ object-type の object-name という名前のオブジェクトが、オブジェクトのリストで複数回指定されています。
説明
タイプ object-type のオブジェクト名のリストで、object-name というオブジェクトが複数回指定されました。 ステートメントの操作をオブジェクトで複数回実行することはできません。
ユーザー応答
リスト内の重複したオブジェクトを訂正し、重複するオカレンスを取り除いてください。
sqlcode: -242
sqlstate: 42713
SQL0243N SENSITIVE カーソル cursor-name は、指定された SELECT ステートメントには定義できません。
説明
カーソル cursor-name は SENSITIVE と定義されていますが、SELECT ステートメントの内容では、カーソルの一時結果表がデータベース・マネージャーで作成されなければならず、 このカーソルの外部で加えられた変更をデータベース・マネージャーが必ず表示できるとは限りません。 この状況は、照会の内容に応じて結果表が読み取り専用になったときに発生します。 たとえば、照会に結合が入っている場合は、結果表は読み取り専用になります。 これらの場合、カーソルは INSENSITIVE または ASENSITIVE として定義されている必要があります。
ステートメントは処理できません。
ユーザー応答
結果表が読み取り専用でなくなるように照会の内容を変更するか、またはカーソルの タイプを INSENSITIVE または ASENSITIVE に変更してください。
sqlcode: -243
sqlstate: 36001
SQL0244N FETCH で指定された SENSITIVITY 感度 は、カーソル カーソル名には無効です。
説明
DECLARE CURSOR
FETCH Statement
INSENSITIVE INSENSITIVE
SENSITIVE STATIC SENSITIVE
or INSENSITIVE
SENSITIVE DYNAMIC SENSITIVE
SENSITIVE SENSITIVE
ASENSITIVE INSENSITIVE
or SENSITIVE
(depending on the
effective
sensitivity of the
cursor)順方向スクロール・カーソルの場合、センシティビティー・オプションは指定できません。
ステートメントは処理できません。
ユーザー応答
FETCH で指定されたセンシティビティー・オプションを変更または除去してください。
sqlcode: -244
sqlstate: 428F4
SQL0245N ルーチン routine-name の呼び出しがあいまいです。 位置 position の引数に最も適合するものがありません。
説明
ルーチンが SQL ステートメントで参照される場合、データベース・マネージャーは厳密にどのルーチンを呼び出すかを決定しなければなりません。 関数の場合、このプロセスは関数解決と呼ばれており、組み込み関数とユーザー定義関数の両方に適用されます。 関数の呼び出しがあいまいな場合には、このエラーが返されます。 これは、関数解決の基準を満たす候補関数が複数存在するような状況で発生します。
この場合、2 つの候補関数の位置 position にパラメーターがありますが、2 つの候補関数のパラメーターのデータ・タイプは、同じデータ・タイプ優先順位リストに入っていません。 引数に最も適合するものを決定できません。
ユーザー応答
候補関数のセットからあいまいさを取り除くために、適切なデータ・タイプ、関数定義、または SQL パスに引数を明示的にキャストするよう SQL ステートメントを変更します。その後、再試行してください。
sqlcode: -245
sqlstate: 428F5