SQL0501N | FETCH または CLOSE ステートメントに指定された カーソルが、オープンしていません。 |
説明: 指定されたカーソルがオープンされていないときに、プログラムが、(1) FETCH (カーソルを使用)、または (2) CLOSE (カーソルのクローズ) を試みました。
ステートメントは処理されません。
ユーザーの処置: カーソルをクローズした可能性がある前のメッセージの (SQLCODE) をチェックしてください。カーソルをクローズした後では、フェッチまたはカーソルを クローズするステートメントに、SQLCODE -501 が返されます。
前回の SQLCODE が発行されていない場合は、アプリケーション・ プログラムを修正して、FETCH または CLOSE ステートメントが 実行されるときに、カーソルがオープンされているようにして ください。
sqlcode: -501
sqlstate: 24501
SQL0502N | OPEN ステートメントに指定されたカーソルは、すでに オープンしています。 |
説明: プログラムが、すでにオープンしているカーソルに 対して OPEN ステートメントを実行しようとしました。
ステートメントは処理されません。 カーソルは変更されません。
ユーザーの処置: アプリケーション・プログラムを修正して、すでに オープンされているカーソルに対して OPEN ステートメントを 実行しないようにしてください。
sqlcode: -502
sqlstate: 24502
SQL0503N | カーソルの SELECT ステートメントの FOR UPDATE で 列が識別されていないので、この列は更新できません。 |
説明: プログラムが、カーソル宣言または準備された SELECT ステートメント内 の FOR UPDATE 文節内で識別されていない表の列内の値を、カーソルを使用して 更新しようとしました。
更新される列は、カーソル宣言の FOR UPDATE 文節内で識別される 必要があります。
ステートメントは処理されません。
ユーザーの処置: アプリケーション・プログラムを修正してください。列の更新が必要な場合は、その名前をカーソル宣言の FOR UPDATE 文節に 追加してください。
sqlcode: -503
sqlstate: 42912
SQL0504N | カーソル "<name>" が定義されていません。 |
説明: UPDATE または DELETE WHERE CURRENT OF "<name>" が 指定されていますが、カーソル "<name>" がアプリケーション・ プログラムに宣言されていません。
ステートメントは処理されません。
ユーザーの処置: アプリケーション・プログラムが完全であることを 確認して、カーソル名のつづりのエラーを訂正してください。
sqlcode: -504
sqlstate: 34000
SQL0505N | カーソル "<name>" はすでに定義されています。 |
説明: DECLARE ステートメントに指定されているカーソル名は、すでに 宣言されています。
ステートメントは処理されません。
ユーザーの処置: カーソル名のつづりが正しいことを確認してください。
SQL0507N | UPDATE または DELETE ステートメントに指定された カーソルは、オープンしていません。 |
説明: 指定されたカーソルがオープンされていないときに、プログラム が UPDATE または DELETE WHERE CURRENT OF カーソル・ ステートメントを実行しようとしました。
ステートメントは処理されません。 更新または削除は実行されません。
ユーザーの処置: カーソルをクローズした可能性がある前のメッセージの (SQLCODE) をチェックしてください。カーソルがクローズした後に、フェッチまたはカーソルを クローズするステートメントを使用すると、SQLCODE -501 を 受け取り、更新または削除ステートメントを使用すると、SQLCODE -507 を受け取ります。アプリケーション・プログラムのロジックを修正して、UPDATE または DELETE ステートメントが実行された ときに、指定したカーソルがオープンされているようにしてください。
sqlcode: -507
sqlstate: 24501
SQL0508N | UPDATE または DELETE ステートメントに指定された カーソルが、行を示していません。 |
説明: 指定されたカーソルが対象表の行を示していないときに、プログラム が UPDATE または DELETE WHERE CURRENT OF カーソル・ ステートメントを実行しようとしました。カーソルは、更新または削除する行を示している必要があります。
行が削除されるときに、カーソルが行を示しません。ここには、ROLLBACK TO SAVEPOINT が実行されるときの 保管点内のカーソル使用が含まれます。
連合システム・ユーザー: リモート・データ源のレコードが、 別のアプリケーション (またはこのアプリケーション内の別なカーソル) によって更新および / または削除されましたので、 レコードは存在しません。
ステートメントは処理されません。 更新または削除されるデータはありません。
ユーザーの処置: アプリケーション・プログラムのロジックを修正して、UPDATE または DELETE ステートメントが実行される前に、カーソルが 対象表の意図した行を正しく示すようにしてください。 FETCH がメッセージ SQL0100W (SQLCODE = 100) を返した場合は、 カーソルが行を示していないことに注意してください。
sqlcode: -508
sqlstate: 24504
SQL0509N | UPDATE または DELETE ステートメントに指定された 表が、カーソルの SELECT に指定された表と同じではありません。 |
説明: プログラムが UPDATE または DELETE WHERE CURRENT OF カーソル・ ステートメントを実行しようとしましたが、そのステートメントに 指定された表名が、カーソルを宣言する SELECT ステートメントに 指定された表の名前と一致しませんでした。
ステートメントは処理されません。
ユーザーの処置: アプリケーション・プログラムを修正して、UPDATE または DELETE ステートメントに指定した表と カーソル宣言に指定した表が同じになるようにしてください。
sqlcode: -509
sqlstate: 42827
SQL0510N | 指定されたカーソルに対して、UPDATE または DELETE は 許されていません。 |
説明: 要求された更新または削除処理が許されていない表または 視点定義に対して、プログラムが UPDATE または DELETE WHERE CURRENT OF カーソル・ステートメントを 実行しようとしました。たとえば、このエラーは読み取り専用の視点からの削除、または カーソルが FOR UPDATE 文節とともに定義されていない場合の 更新で起きる可能性があります。
SELECT ステートメントが以下の場合、データベース・マネージャーの表示が読み取り専用 (RO) になります。
上記の条件は SELECT ステートメントの副照会には 適用されませんので、注意してください。
カーソルが FOR FETCH ONLY または ORDER BY 文節とともに宣言されています。
カーソルが未確定で、BLOCKING ALL バインド・オプションが 指定されています。
ステートメントは処理されません。
ユーザーの処置: データベース・マネージャーがステートメントを失敗した場合に、 カーソルが読み取り専用の SELECT または VALUES ステートメントに基づいているなら、 そのカーソルに対して、更新または削除ステートメントを発行しないでください。
データベース・マネージャーがステートメントを失敗した場合に、 カーソルが読み取り専用 SELECT または VALUES ステートメントに基づいておらず、 FOR FETCH ONLY または ORDER BY 文節とともに定義されているときは、 この文節をカーソル定義から取り除くか、 あるいは更新または削除ステートメントを発行しないでください。
データベース・マネージャーがステートメントを失敗し、カーソルが フェッチ専用、あるいは その定義またはコンテキストから更新可能のどちらであるかを判別できない 場合は、BLOCKING NO または BLOCKING UNAMBIG バイン ド・オプションを使用して、プログラムを再バインドしてください。
連合システム・ユーザー: 要求の失敗を引き起こす データ・ソースと問題を分離してください (失敗したデータ・ソースを識別する手順については、 問題判別の手引きを参照してください)。 データ・ソースの要求が失敗する場合、データ・ソースの制約事項を検査して、問題の原因および解決を判別してください。 データ・ソースに制約事項がある場合は、 そのデータ・ソースの SQL 解説書を参照して、オブジェクトがなぜ更新不可能かを判別してください。
sqlcode: -510
sqlstate: 42828
SQL0511N | カーソルで指定された表が変更できないので、FOR UPDATE 文節は使用できません。 |
説明: SELECT または VALUES ステートメントの結果表は 更新できません。
カーソルが、以下を含む VALUES ステートメントまたは SELECT ステートメントにもとづいている場合、結果表は読み取り専用になります。
上記の条件は SELECT ステートメントの副照会には 適用されませんので、注意してください。
ステートメントは処理されません。
ユーザーの処置: 指定されたように、結果表では更新を実行しないでください。
連合システム・ユーザー: 要求の失敗を引き起こす データ・ソースと問題を分離してください (失敗したデータ・ソースを識別する手順については、 問題判別の手引きを参照してください)。 データ・ソースの要求が失敗する場合、データ・ソースの制約事項を検査して、問題の原因および解決を判別してください。 データ・ソースに制約事項がある場合は、 そのデータ・ソースの SQL 解説書を参照して、オブジェクトがなぜ更新不可能かを判別してください。
sqlcode: -511
sqlstate: 42829
SQL0513W | この SQL ステートメントは、表全体または視点全体を 変更します。 |
説明: UPDATE または DELETE ステートメントには、WHERE 文節が 含まれていないので、このステートメントが実行されると、表または 視点のすべての行が変更されます。
このステートメントは受け付けられます。
連合システム・ユーザー: すべてのデータ・ソースがこの警告条件を報告するわけではありません。 連合サーバーは条件が存在すればこの警告の発行を試行しますが、連合サーバーが常にこの条件を検出できる保証はありません。UPDATE/DELETE 操作を全体表または表示からの作用より妨げるため にはこの警告を使用しないでください。
ユーザーの処置: 実際にすべての表または視点を修正する必要があることを 確認してください。
SQL0514N | カーソル "<name>" が、準備された状態ではありません。 |
説明: このアプリケーション・プログラムが、準備状態ではない カーソル "<name>" を使用しようとしました。カーソルが、(1) 準備されることのないステートメント、(2) ROLLBACK によって無効にされたステートメント、 または (3) パッケージの明示または暗黙の再バインドによって無効にされたステートメントに関連しています。
ステートメントは処理されません。
ユーザーの処置: ケース (1) の場合は、カーソルをオープンする前に、 "<name>" の DECLARE CURSOR ステートメントに指定されているステートメントを準備してください。 ケース (2) の場合は、カーソルの使用が完了するまで、ROLLBACK を発行しないでください。 ケース (3) の場合、カーソルの準備を再発行する必要があります。
sqlcode: -514
sqlstate: 26501
SQL0516N | DESCRIBE ステートメントが、準備されたステートメントを 指定していません。 |
説明: DESCRIBE ステートメントのステートメント名は、同一のデータベース・ トランザクションで用意されたステートメントを指定する必要があります。
ステートメントは処理されません。
ユーザーの処置: ステートメント名が準備されたステートメントを指定していることを 確認してください。
sqlcode: -516
sqlstate: 26501
SQL0517N | このカーソル "<name>" は SELECT または VALUES ステートメントでない 準備されたステートメントを識別しています。 |
説明: カーソル "<name>" は、カーソル宣言に 指定されている準備されたステートメントが、SELECT または VALUES ステートメントではない ために、指定された通りに使用できません。
ステートメントは処理されません。
ユーザーの処置: ステートメント名が、カーソル "<name>" の PREPARE ステートメントおよび DECLARE CURSOR ステートメントに、正しく 指定されていることを確認してください。または、プログラムを修正して、準備された SELECT または VALUES ステートメント のみが、カーソル宣言との関連で使用されるようにしてください。
sqlcode: -517
sqlstate: 07005
SQL0518N | EXECUTE ステートメントに指定されたステートメントが、準備された 状態ではないか、あるいは SELECT または VALUES ステートメントです。 |
説明: アプリケーション・プログラムが、(1) 準備されることのないステートメント、 (2) ROLLBACK によって無効にされたステートメント、 (3) SELECT または VALUES ステートメント、 または (4) パッケージの明示または暗黙の再バインドによって無効にされたステートメントの EXECUTE を試みました。
ステートメントは処理されません。
ユーザーの処置: ケース (1) の場合は、EXECUTE (実行) を試みる前に、ステートメントを準備してください。 ケース (2) の場合は、準備されたステートメントの使用が完了するまで、 ROLLBACK を発行しないようにするか、あるいは ROLLBACK の後で、 もう一度ステートメントを準備してください。 ケース (3) の場合は、 ステートメントが SELECT または VALUES ステートメントでないことを確認してください。 ケース (4) の場合、カーソルの準備を再発行する必要があります。
sqlcode: -518
sqlstate: 07003
SQL0519N | PREPARE ステートメントが、オープン・ カーソル "<name>" の SELECT または VALUES ステートメントを 識別しています。 |
説明: カーソルがすでにオープンされているときに、アプリケーション・ プログラムが、示されたカーソルの SELECT または VALUES ステートメントを 準備しようとしました。
ステートメントは準備されません。カーソルは影響を受けません。
ユーザーの処置: アプリケーション・プログラムを修正して、オープン済みの カーソルに対して、SELECT または VALUES ステートメントを 準備しないようにしてください。
sqlcode: -519
sqlstate: 24506
SQL0525N | SQL ステートメントを、section = "<sectno>" package = "<pkgname>" 整合性 トークン = X"<contoken>" に対するバインド実行時がエラーのため、実行できません。 |
説明: 次のいずれかが起きていると思われます。
変数は次の通りです。
ステートメントは処理されません。
ユーザーの処置: SQL ステートメントが指定のロケーションで実行しない場合は、プログラムを訂正し、エラーのステートメントがそのロケーションで実行されないようにしてください。 パッケージを事前コンパイル、コンパイル、およびバインド置換してください。 SQL ステートメントが指定のロケーションで実行する場合は、 バインドしたときの問題を訂正し、BIND と ACTION(REPLACE) を使用してもう一度パッケージをバインドしてください。 パッケージの複数バージョンがバインドされた場合、次の SELECT ステートメントを発行して、 エラーのあるバージョンを判別してください。 SELECT VERSION FROM locid.SYSIBM.SYSPACKAGE WHERE LOCATION = ' ' AND COLLID = 'collid' AND NAME = 'pkgid' AND HEX(CONTOKEN) = 'contoken'
意味:
sqlcode: -525
sqlstate: 51015
SQL0526N | 要求された関数は、宣言された一時表に適用されません。 |
説明: 実行されている SQL ステートメントは、宣言された一時表を参照しています。 宣言された一時表は、与えられているコンテキストでは使用できません。
ステートメントは処理されません。
ユーザーの処置: SQL ステートメントを修正し、宣言された一時表にオブジェクトの参照がないことを確認してください。
sqlcode: -526
sqlstate: 42995
SQL0528N | 表 "<tablename>" にはすでに制約 "<name>" の重複している 固有の制約が存在します。 |
説明: UNIQUE 文節は、PRIMARY KEY 文節、別の UNIQUE 文節または PRIMARY KEY と同一の列リストを使用するか、表 "<tablename>" にすでに存在している UNIQUE 文節を使用します。固有制約の重複は許可されていません。
いずれかが指定または存在している場合は、"<name>" は制約名になります。制約名が指定されていない場合、"<name>" は、3 つのピリオド に続く UNIQUE 文節の列リストで指定された最初の列名です。
ステートメントは処理されません。
ユーザーの処置: 重複 UNIQUE 文節を除去するか、あるいは列リストを固有制約の 一部でない列のセットに変更してください。
sqlcode: -528
sqlstate: 42891
SQL0530N | FOREIGN KEY "<constraint-name>" の挿入または 更新の値は、親表の親キーの値と同じではありません。 |
説明: 対象表の外部キーに値を設定 しようとしましたが、この値は親表の親キーの値と 同じではありません。
行を従属表へ挿入する時には、外部キーの挿入値は、関連する関係の親表の行の親キーの値と 等しくしてください。
同様に、外部キーの値を更新する時には、外部キーの更新値は、ステートメント完了時の関係する 親表の行の親キーの値と等しくしてください。
連合システム・ユーザー: 制約がデータ・ソースに存在する可能性があります (子および親表がデータ・ソース上に存在する場合)。
一部のデータ・ソースは、"<constraint name>" に該当する値を提供しません。 この場合、メッセージ・トークンは "<data source>:UNKNOWN" の形式になります。 これは、指定されたデータ・ソースの実際の値が不明であることを示します。
ステートメントは実行できませんでした。 対象表の内容は変更されません。
ユーザーの処置: まず、外部キーの挿入値または更新値を調べた後で、親表の各親キーと 比較をして、問題の判別と訂正を行ってください。
sqlcode: -530
sqlstate: 23503
SQL0531N | 関係 "<constraint-name>" の 親行の親キーを更新できません。 |
説明: 操作は親表の行で親キーの更新を試行しましたが、指定行の親キーは "<constraint-name>" 制約において関連付けされる 従属表の従属行を持っていました。
制約 "<constraint-name>" の更新規則が NO ACTION の時、親行にある親キーの値は、親行に ステートメント完了時に従属行がある場合は、更新することはできません。
制約 "<constraint-name>" の更新規則が RESTRICT の時、親行にある親キーの値は、親行を 更新しようとした時に、親行に従属行がある場合は、更新することはできません。
連合システム・ユーザー: 制約がデータ・ソースに存在する可能性があります (子および親表がデータ・ソース上に存在する場合)。
一部のデータ・ソースは、"<constraint name>" に該当する値を提供しません。 この場合、メッセージ・トークンは "<data source>:UNKNOWN" の形式になります。 これは、指定されたデータ・ソースの実際の値が不明であることを示します。
ステートメントは実行できませんでした。 対象表の内容は変更されません。
ユーザーの処置: 対象表の親キーおよび従属表の外部キーを調べて親キーの指定行の値が変更されているかを判別してください。問題が明らかにならない場合は、対象表および従属表の内容を調べて、問題の判別と訂正を行ってください。
sqlcode: -531
sqlstate: 23001, 23504
SQL0532N | 関係 "<constraint-name>" が削除を 制限しているので、親行が削除できません。 |
説明: 親表の指定行の削除する操作をしましたが、指定行の親キーには参照制約 "<constraint-name>" に従属行があり、NO ACTION または RESTRICT の削除規則が 関係に指定されています。
制約 "<constraint-name>" の削除規則が NO ACTION のとき、従属行がステートメント完了時に親キーにまだ依存している 場合は親表の行を削除できません。
制約 "<constraint-name>" の削除規則が RESTRICT のとき、親行が削除時に従属行を持っている場合は 親表の行を削除できません。
削除によって、NO ACTION または RESTRICT の削除規則を持つ従属表で他の行が カスケードして削除される可能性があることに注意してください。 このように、制約 "<constraint-name>" はオリジナル削除操作とは別の表に ある可能性があります。
連合システム・ユーザー: 制約がデータ・ソースに存在する可能性があります (子および親表がデータ・ソース上に存在する場合)。
一部のデータ・ソースは、"<constraint name>" に該当する値を提供しません。上記の場合、該当するフィールドは実際の値は不明であることを指示する値 (たとえば "unknown") を含みます。
ステートメントは実行できませんでした。 表の内容は変更されません。
ユーザーの処置: すべての下位表の削除規則を調べて、問題の判別と訂正を 行ってください。関係する特定の表は、関係 "<constraint-name>" から 判別できます。
sqlcode: -532
sqlstate: 23001, 23504
SQL0533N | 関係が全選択の結果を 1 行に制限しているので、INSERT ステートメントは無効です。 |
説明: 全選択を使用する INSERT 処理が、同じ参照制約内で親と従属である表に、複数行を挿入しようとしました。
INSERT 処理の全選択は、1 行以上のデータを 返すことはできません。
INSERT ステートメントを実行できませんでした。対象表の内容は変更されません。
連合システム・ユーザー: 制約がデータ・ソースに存在する可能性があります (子および親表がデータ・ソース上に存在する場合)。
ユーザーの処置: 全選択の探索条件を調べて、1 行のデータのみが 選択されていることを確認してください。
sqlcode: -533
sqlstate: 21501
SQL0534N | 複数行の更新は無効です。 |
説明: UPDATE 処理が、1 次キーまたは固有索引を含んでいる列の 複数行更新を実行しようとしました。
1 次キーまたは固有索引の列の複数行更新は サポートされていません。
UPDATE ステートメントは実行できませんでした。表の内容は変更されません。
連合システム・ユーザー: 制約は連合サーバーに存在する可能性がある、 (子と親表が連合サーバーの表に存在する場合) またはデータ・ソースに存在する可能性があります(子と親表がデータ・ソースに存在する場合)。
ユーザーの処置: UPDATE ステートメントの探索条件を、対象表の 1 行のみを 更新するようにしてください。
sqlcode: -534
sqlstate: 21502
SQL0535N | 自己参照関係が削除を 1 行に制限しているので、DELETE ステートメントは無効です。 |
説明: WHERE 文節付きの DELETE 処理が、RESTRICT または SET NULL 削除 規則を持つ参照制約において同じ関係にある親表と従属表から、複数行を 削除しようとしました。
DELETE 処理の WHERE 文節では、1 行のデータしか選択できません。
DELETE ステートメントは実行できませんでした。対象表の内容は変更されません。
連合システム・ユーザー: 制約がデータ・ソースに存在する可能性があります (子および親表がデータ・ソース上に存在する場合)。
ユーザーの処置: WHERE 文節の探索条件を調べて、1 行のデータのみが 選択されていることを確認してください。
注: これは、バージョン 2 以前の DB2 のリリースのみに関する制約です。
sqlcode: -535
sqlstate: 21504
SQL0536N | 表 "<name>" が処理に影響される可能性があるため、DELETE ステートメントは無効です。 |
説明: 副照会で参照される、示された表を使用する DELETE 処理が 実行されようとしました。
以下のいずれかの理由で、DELETE ステートメントの副照会内で参照される、 示された表が影響される可能性があります。
連合システム・ユーザー: 制約がデータ・ソースに存在する可能性があります (子および親表がデータ・ソース上に存在する場合)。
一部のデータ・ソースは、"<name>" に適切な値を提供しません 。 上記の場合、該当するフィールドは実際の値は不明であることを指示する値 (たとえば "unknown") を含みます。
ステートメントを処理できませんでした。
ユーザーの処置: 表が DELETE ステートメントによる影響を受ける可能性が ある場合は、DELETE ステートメントの副照会で、表を参照しないでください。
注: このエラーは、バージョン 2 以前の DB2 とDB2 コネクトを介してアクセスされるホストにのみ適用されます。
sqlcode: -536
sqlstate: 42914
SQL0537N | PRIMARY KEY 文節、FOREIGN KEY 文節、UNIQUE 文節 または PARTITIONING KEY 文節は 複数回、列 "<name>" を識別します。 |
説明: 列 "<name>" は複数回、CREATE または ALTER ステートメントの PRIMARY KEY 文節、FOREIGN KEY 文節、UNIQUE 文節または PARTITIONING KEY 文節に表示されます。
連合システム・ユーザー: 制約がデータ・ソースに存在する可能性があります (子および親表がデータ・ソース上に存在する場合)。
一部のデータ・ソースは、"<name>" に適切な値を提供しません。 上記の場合、該当するフィールドは実際の値は不明であることを指示する値 (たとえば "unknown") を含みます。
ステートメントは処理されません。
ユーザーの処置: 列ごとに特定名を指定してください。
sqlcode: -537
sqlstate: 42709
SQL0538N | FOREIGN KEY "<name>" は 表 "<table-name>" の親キーの 記述と一致していません。 |
説明: 示された外部キーの定義は、表 "<table-name>" の親キーの 記述と一致していません。
エラーの可能性としては、次のいずれかが考えられます。
"<name>" は FOREIGN KEY 文節に指定される場合の 制約名です。制約名を指定していない場合、"<name>" は、3 つのピリオドに続く 文節に指定された最初の列名です。
連合システム・ユーザー: 一部のデータ・ソースは、"<name>" および "<table-name>" に適切な値を提供しません。 上記の場合、該当するフィールドは実際の値は不明であることを指示する値 (たとえば "unknown") を含みます。
制約がデータ・ソースに存在する可能性があります (子および親表がデータ・ソースに存在する場合)。
ステートメントは処理されません。
ユーザーの処置: 外部キーの記述が親キーの記述に一致する ようにこのステートメントを訂正してください。
sqlcode: -538
sqlstate: 42830
SQL0539N | 表 "<name>" は "<key-type>" キーを持っていません。 |
説明: 以下のいずれかが起きました。
連合システム・ユーザー: 制約がデータ・ソースに存在する可能性があります (子および親表がデータ・ソース上に存在する場合)。
一部のデータ・ソースは、"<name>" および "<key-type>" に 適切な値を提供しません。上記の場合、該当するフィールドは実際の値は不明であることを指示する値 (たとえば "unknown") を含みます。
ステートメントは処理されません。 システム・カタログは、参照制約の親表として定義できません。
ユーザーの処置: 参照制約の作成時には、外部キー (制約) を指定する前に、1 次キーを指定してください。
sqlcode: -539
sqlstate: 42888
SQL0540N | 1 次索引または要求された固有索引がないため、"<table-name>" 表の定義が 不完全です。 |
説明: 指定された表は PRIMARY KEY 文節または UNIQUE 文節で定義されていました。その定義が不完全です。 1 次キーに (1 次索引) および 任意の UNIQUE 文節の列 (必須の固有索引) に対して固有索引が定義されるまでに使用不能となっています。 FOREIGN KEY 文節の表、または SQL 操作ステートメントの表を使用しようとしました。
ステートメントは処理されません。
ユーザーの処置: 参照する前に、1 次索引または必須の固有索引を表で定義してください。
sqlcode: -540
sqlstate: 57001
SQL0541W | 参照、1 次キーまたは固有制約 "<name>" は、重複制約のため、無視されます。 |
説明: "<name>" が参照制約を参照する場合、FOREIGN KEY 文節は 別の FOREIGN KEY 文節と同じ外部キーおよび親表を使用します。
"<name>" が 1 次キーまたは固有制約を参照する場合、次の状況のいずれかが存在します。
指定された場合、"<name>" は制約名です。 制約名を指定しなかった場合、"<name>" は FOREIGN KEY または UNIQUE 文節の列リストで指定された、3 つのピリオド に続く最初の列名になります。
連合システム・ユーザー: 制約がデータ・ソースに存在する可能性があります (子および親表がデータ・ソース上に存在する場合)。
一部のデータ・ソースは、"<name>" に適切な値を提供しません 。 上記の場合、該当するフィールドは実際の値は不明であることを指示する値 (たとえば "unknown") を含みます。
指示された参照制約または固有制約は 作成されませんでした。ステートメントは正常に処理されました。
ユーザーの処置: 処置は必要ありません。 処理は続行されます。
sqlcode: +541
sqlstate: 01543
SQL0542N | "<name>" は NULL 値を含む可能性があるので 1 次キーまたは 固有キーの列にすることができません。 |
説明: PRIMARY KEY 文節または UNIQUE 文節で識別された 列 "<name>" は、NULL 値を許可するように定義されています。
連合システム・ユーザー: 一部のデータ・ソースは、"<name>" に適切な値を提供しません 上記の場合、該当するフィールドは実際の値は不明であることを指示する値 (たとえば "unknown") を含みます。
ステートメントは処理されません。
ユーザーの処置: 列、1 次キーまたは固有キーの定義を訂正してください。
sqlcode: -542
sqlstate: 42831
SQL0543N | 検査制約 "<constraint-name>" が削除を 制限しているために、親表の行が削除できません。 |
説明: ターゲット表が親表で、参照制約を使用して、SET NULL の削除規則を持つ従属表に接続されている ために、削除処理は実行できません。ただし、従属表に定義されている検査制約は、列が null 値を 含むことを制限します。
ステートメントは処理されません。
ユーザーの処置: 外部キー、従属表の削除規則、矛盾する検査制約を 調べてください。相互矛盾がないように、削除規則または 検査制約を変更してください。
sqlcode: -543
sqlstate: 23511
SQL0544N | 制約に違反する行が表に含まれている ために、検査制約 "<constraint-name>" が追加できません。 |
説明: 表の少なくとも 1 つの既存の行が、ALTER TABLE ステートメントに 追加される検査制約に違反しています。
ステートメントは処理されません。
ユーザーの処置: ALTER TABLE ステートメントに指定されている 検査制約定義および表のデータを調べて、制約の違反が 存在する理由を判別してください。制約に違反しないように、検査制約またはデータを 変更してください。
sqlcode: -544
sqlstate: 23512
SQL0545N | 行が検査制約 "<constraint-name>" を 満たしていないために、要求された処理は実行されません。 |
説明: 検査制約違反は、INSERT または UPDATE 処理で 起きる可能性があります。結果の行が、その表の検査制約定義に 違反しました。
ステートメントは処理されません。
ユーザーの処置: データとカタログ視点 SYSCAT.CHECKS の検査制約定義を 調べて、INSERT または UPDATE ステートメントが失敗した理由を 判別してください。制約に違反しないように、データを変更してください。
sqlcode: -545
sqlstate: 23513
SQL0546N | 検査制約 "<constraint-name>" が無効です。 |
説明: CREATE TABLE または ALTER TABLE ステートメントの 検査制約が、以下の 1 つ以上の理由で無効です。
ステートメントは処理されません。
ユーザーの処置: エラーの原因に応じて、以下のいずれかを 行ってください。
sqlcode: -546
sqlstate: 42621
SQL0548N | "<check-condition-element>" とともに定義されている 検査制約が無効です。 |
説明: CREATE TABLE または ALTER TABLE ステートメントの 検査制約が、以下の 1 つ以上の理由で無効です。
エラー・メッセージのテキスト内のトークンが、無効な項目を リストしています。
ステートメントは処理されません。
ユーザーの処置: エラーの原因に応じて、以下のいずれかを 行ってください。
sqlcode: -548
sqlstate: 42621.
SQL0549N | "<object-type2>" のバインド・オプション DYNAMICRULES(BIND) が効力を持っているため、"<statement>" ステートメントが "<object-type1 >" "<object-name1>" に対して許可されません。 |
説明: プログラムが、オプション DYNAMICRULES(BIND) が効力を持つパッケージまたはプランから 発行することのできないいくつかの SQL ステートメントの 1 つである、示された SQL ステートメントを発行しようとしました。この SQL ステートメントは以下の通りです。
ユーザーの処置: 以下のいずれかを行って、エラーを訂正してください。
sqlstate: 42509
SQL0551N | "<authorization-ID>" は、オブジェクト "<name>" で 処理 "<operation>" を実行する特権を持っていません。 |
説明: 許可 ID "<authorization-ID>" が、適切な 許可を持たずに、"<name>" 上で 示された "<operation>" を 実行しようとしました。
参照制約を持つ表の作成または変更を行っている場合は、 このメッセージ (SQLCODE) により、 ユーザーが FOREIGN KEY の作成またはドロップを行うための REFERENCES 特権を持っていないことが分かります。この場合は、"<operation>" が "REFERENCES" で、"<name>" が、制約が参照する対象です。
DB2 ユーティリティーまたは CLI アプリケーションの実行を試行する場合、データベースを作成したユーザー ID が存在しない、あるいは、要求された特権がないため、DB2 ユーティリティー・プログラムは そのデータベースに再バインドされる必要があります。
連合システム・ユーザー: ユーザーが SYSCAT.USEROPTIONS 視点の remote_pw 列を変更しているときにこのメッセージが返された場合は、 そのユーザーは他のユーザーのパスワードの変更を許可されていません。更新処理を行うユーザーは、更新された行の authid 列の値と一致する SYSADM 権限または権限 ID (USER 特殊レジスター内の値) を持つ必要があります。データ・ソースは "<authid>"、<operation>、そして <name> に対して 該当する値を提供しないこともあります。 この場合、メッセージ・トークンは "<data source> AUTHID:UNKNOWN"、 "UNKNOWN"、および "<data source>:TABLE/VIEW" の形式になります。 これは、指定されたデータ・ソースの authid、 operation、 および name の実際の値が不明であることを示します。
ステートメントは処理されません。
ユーザーの処置: "<authorization-ID>" に操作を実行するのに必要な 権限があるか確認してください。
連合システム・ユーザー: この許可は、連合サーバー、データ・ソース、またはその両方にある可能性があります。
DB2 ユーティリティー・プログラムがデータベースに再バインドされる必要がある場合、 データベース管理者は、データベースに接続されている間に bnd サブディレクトリーから次の CLP コマンドを 1 つ発行し、 このデータベースを完成することができます。
sqlcode: -551
sqlstate: 42501
SQL0552N | "<authorization-ID>" は、操作 "<operation>" を 実行する特権を持っていません。 |
説明: 許可 ID "<authorization-ID>" が、適切な 許可を持たずに、示された "<operation>" を 実行しようとしました。
連合システム・ユーザー: 一部のデータ・ソースは、"<authorization-ID>" および <operation> に適切な値を提供しません この場合、 メッセージ・トークンは "<data source> AUTHID:UNKNOWN"、 および "UNKNOWN" の形式になります。 これは、指定されたデータ・ソースの許可 ID および操作の実際の値が不明であることを示します。
ステートメントは処理されません。
ユーザーの処置: "<authorization-ID>" が、処理を実行する許可を 持っていることを確認してください。
連合システム・ユーザー: この許可は、連合サーバー、データ・ソース、またはその両方にある可能性があります。
sqlcode: -552
sqlstate: 42502
SQL0553N | スキーマ名 "<schema-name>" を 持つオブジェクトは、作成できません。 |
説明: スキーマ名 "<schema-name>" が無効な 理由は、そのスキーマ名が、作成されるオブジェクトの タイプに依存しているためです。
ステートメントは処理されません。
ユーザーの処置: 有効なスキーマ名を使用するか、または明示スキーマ名を 取り除いて、ステートメントを再実行してください。
sqlcode: -553
sqlstate: 42939
SQL0554N | 許可 ID はそれ自体に特権を授与できません。 |
説明: 許可 ID が、特権が与えられる許可 ID リスト内の項目の 1 つであるにもかかわらず、GRANT ステートメントを 実行しようとしました。
ステートメントは処理されません。
ユーザーの処置: リストから許可 ID を除去してください。
sqlcode: -554
sqlstate: 42502
SQL0555N | 許可 ID はそれ自体の特権は取り消せません。 |
説明: 許可 ID が、特権が取り消される許可 ID リスト内の 項目であるにもかかわらず、REVOKE ステートメントを 実行しようとしました。
ステートメントは処理されません。
ユーザーの処置: リストから許可 ID を除去してください。
sqlcode: -555
sqlstate: 42502
SQL0556N | "<authorization-ID>" はこの特権を持っていない ので、"<authorization-ID>" の特権を取り消す試みは 拒否されました。 |
説明: "<authorization-ID>" が特権を所有していないので、特権を 取り消すことができません。
ステートメントは処理されません。
ユーザーの処置: REVOKE 規則に一致するように REVOKE ステートメントを 変更して、ステートメントの再実行依頼を行ってください。REVOKE ステートメントが、取り消される特権と、各許可 ID が 指定された特権の少なくとも 1 つを所有している許可 ID の リストを、リストしていることを確認してください。
sqlcode: -556
sqlstate: 42504
SQL0557N | 指定された特権の組み合わせは、与えることも取り消すことも できません。 |
説明: 以下のいずれかが起きました。
ステートメントは処理されません。
ユーザーの処置: ステートメントの訂正と再実行依頼を行ってください。
sqlcode: -557
sqlstate: 42852
SQL0558N | "<authorization-ID>" が "<control>" 権限を保持しているため、"<authorization-ID>" の特権を取り消す試みは拒否されました。 |
説明: "<authorization-ID>" が "<control>" 特権を保持しています。取り消される特権は "<control>" 特権では暗黙的であるため、"<control>" 特権も取り消されない限りこの特権を取り消せません。
"<control>" の有効な値は次のとおりです。
ステートメントは処理されません。 取り消される特権はありません。
ユーザーの処置: 必要に応じて、"<control>" 特権を取り消してください。
sqlcode: -558
sqlstate: 42504
SQL0562N | 指定されたデータベース特権は、PUBLIC (共用) には 与えられません。 |
説明: GRANT ステートメントが、データベース特権を 予約済み許可 ID PUBLIC (共用) に与えようとしました。 DBADM 権限は PUBLIC (共用) に 授与することができません。
ステートメントは処理されません。
ユーザーの処置: 暗黙機能はサポートされていません。
sqlcode: -562
sqlstate: 42508
SQL0567N | "<authorization-ID>" は無効な許可 ID です。 |
説明: "<authorization-ID>" で示されている 許可 ID は、以下のいずれかの理由により無効です。
ステートメントは処理されません。
ユーザーの処置: 無効な許可 ID を訂正してください。
sqlcode: -567
sqlstate: 42602
SQL0569N | おそらく"<authorization-name>" がユーザーとグループの両方をシステムに 識別したので、GRANT/REVOKE ステートメントは失敗しました。 |
説明: GRANT または REVOKE ステートメントが、ユーザーと グループの両方を、セキュリティー名のスペースで識別する可能性のある許 可名に指定され、ステートメントに USER または GROUP キーワードを 明示的に指定していません。したがって、ステートメントは未確定になります。DCE セキュリティーを使用する場合、USER または GROUP キーワードは常に必須であることを注意してください。
ユーザーの処置: 必要な権限 ID を固有に識別する USER または GROUP キーワードを 明示的に指定するように、ステートメントを変更してください。
sqlcode: -569
sqlstate: 56092
SQL0570W | タイプ "<object-type>" のオブジェクト "<object-name>" の要求した 特権がすべて授与されたわけではありません。 |
説明: GRANT 操作がタイプ "<object-type>" のオブジェクト "<object-name>" で 試行されましたが、授与されない特権があります。ステートメントを発行した許可 ID には、授与オプションで認められるすべての特権 が備わっていないか、あるいは DBADM 権限がありません。
有効な要求された特権はすべて授与されました。
ユーザーの処置: 要求権限を入手し、操作を再試行してください。
sqlcode: +570
sqlstate: 01007
SQL0572N | パッケージ "<pkgname>" は操作不能です。 |
説明: パッケージ "<pkgname>" が操作不能とマークされているので、使用する前に、明示的に再バインドする必要があります。このパッケージが依存している 1 つ以上の ユーザー定義関数がドロップされているので、このパッケージは使用できません。
ユーザーの処置: REBIND または BIND コマンドを使用して、示されたパッケージを 明示的に再バインドしてください。
sqlcode: -572
sqlstate: 51028
SQL0573N | 制約 "<name>" の参照文節に指定された列リストが、親表 "<table-name>" の 固有制約を識別しません。 |
説明: "<name>" によって識別された制約の参照文節で指定された 列名のリストが、参照表 "<table-name>" の 1 次キーまたは固有キーの列名と 一致しません。
指定された場合、"<name>" は制約名です。 制約名を指定しなかった場合、"<name>" は FOREIGN KEY 文節の列リストで指定された、3 つのピリオドが 後に続く最初の列名になります。
ステートメントは処理されません。
ユーザーの処置: 参照文節の列リストを訂正するか、または固有制約を 参照される表に 追加してください。
sqlcode: -573
sqlstate: 42890
SQL0574N | DEFAULT 値または IDENTITY 属性値は、表 "<table-name>" の列 "<column-name>" で 有効ではありません。 理由コード : "<reason-code>"、 |
説明: 表 "<table-name>" の列 "<column-name>" の DEFAULT 値 または IDENTITY 属性値は有効ではありません。 理由コードは以下の通りです。
ステートメントは処理されません。
ユーザーの処置: 返された理由コードに基づいて、DEFAULT 値または IDENTITY 属性値を訂正してください。
sqlcode: -574
sqlstate: 42894
SQL0575N | 作動不能の マークが付いているため、視点あるいは要約表 "<name>" は使用できません。 |
説明: 視点 あるいは要約表 "<name>" が従属している 表、視点、別名、あるいは特権が取り除かれたため、その視点あるいは要約表が作動不能になりました。視点は、以下のいずれでもない SQL ステートメントでは 使用できません。
ステートメントは処理されません。
ユーザーの処置: "<name>" が視点の場合、作動不能の視点と同じ視点定義を使用する CREATE VIEW ステートメントを発行して、視点を再作成してください。 "<name>" が要約表である場合、作動不能の表と同じ要約表定義を使用する CREATE TABLE ステートメント を発行して、要約表を再作成してください。
sqlcode: -575
sqlstate: 51024
SQL0576N | 反復別名チェーンとなるため、"<name2>" の 別名 "<name>" は作成できません。 |
説明: "<name2>" 上の "<name>" の 別名定義は、解決されることのない反復別名チェーンに なります。たとえば、"別名 A が、別名 A を参照する別名 B を 参照する" ことは、解決されることのない反復別名チェーンです。
ステートメントは処理されません。
ユーザーの処置: "<name>" の別名定義を変更するか、または 別名チェーンの他のいずれかの別名定義を改訂して、反復チェーンを 回避してください。
sqlcode: -576
sqlstate: 42916
SQL0577N | ユーザー定義関数またはプロシージャー "<function-name>" (特定名 "<specific-name>") がデータを変更しようとしましたが、MODIFIES SQL DATA として定義されていませんでした。 |
説明: ユーザー定義関数またはプロシージャーの本体の実施に使用されたプログラムが、SQL データの変更を許可されていません。
ユーザーの処置: データを変更する SQL ステートメントを除去した後で、プログラムを再コンパイルしてください。 ストアード・プロシージャーについては、CREATE PROCEDURE ステートメントで指定された SQL 許可のレベルを調べてください。
sqlcode: -577
sqlstate: 38002
sqlstate: 42985
SQL0579N | ユーザー定義関数またはプロシージャー "<function-name>" (特定名 "<specific-name>") がデータを読み取ろうとしましたが、READ SQL DATA または MODIFIES SQL DATA として定義されていませんでした。 |
説明: ユーザー定義関数またはプロシージャーの本体の実施に使用されたプログラムが、SQL データの読み取りを許可されていません。
ユーザーの処置: データを読み取る SQL ステートメントを除去した後、プログラムを再コンパイルしてください。 ストアード・プロシージャーについては、CREATE PROCEDURE ステートメントで指定された SQL 許可のレベルを調べてください。
sqlcode: -579
sqlstate: 38004
sqlstate: 42985
SQL0580N | CASE 式の結果式を、すべて NULL にすることは できません。 |
説明: すべての結果式 (THEN および ELSE キーワードに 続く式) がキーワード NULL で指定された CASE 式が、ステートメントに 存在します。
ステートメントは処理されません。
ユーザーの処置: キーワード NULL 以外の結果式を少なくとも 1 つは含むように、CASE 式を変更してください。
sqlcode: -580
sqlstate: 42625
SQL0581N | CASE 式の結果式のデータ・タイプが、互換ではありません。 |
説明: 互換でない結果式 (THEN および ELSE キーワードに 続く式) を持つ CASE 式が、ステートメントに 存在します。
CASE 式のデータ・タイプは、結果式 の "結果データ・タイプの規則" を 使用して決定されます。結果式のデータ・タイプは、以下のいずれかの理由に より、互換でなくなる可能性があります。
ステートメントは処理されません。
ユーザーの処置: 互換性を持つように、結果式を 修正してください。
sqlcode: -581
sqlstate: 42804
SQL0582N | VALUES 文節、IN 述部、GROUP BY 文節または ORDER BY 文節の CASE 式には、比較述部、全選択を用いた IN 述部、または EXISTS 述部 を含むことができません。 |
説明: CASE 式の検索条件は次の通りです。
さらに、CASE 述部は以下の一部です。
上記の CASE 式はサポートされていません。 CASE 式は SQL で書き込まれた関数の一部である可能性があります。
ステートメントは処理されません。
ユーザーの処置: 比較述部、IN 述部、または EXISTS 述部の使用を、CASE 式から取り除いてください。 CASE 式が関数の一部である場合、照会はエラーの原因となる関数を除いて書き込む 必要があります。
sqlcode: -582
sqlstate: 42625
SQL0583N | deterministic 関数ではないか、または外部アクションを含んでいるため、ルーチン "<routine-name>" の使用は無効です。 |
説明: ルーチン (関数またはメソッド) "<routine-name>" が、deterministic ではないルーチン、または外部アクションを持つルーチンとして定義されています。 このタイプのルーチンは、使用されているコンテキストではサポートされていません。 無効になるコンテキストは、以下の通りです。
ステートメントは処理されません。
ユーザーの処置: deterministic ではない、または外部アクション・ルーチンが使用されるよう意図されている場合、これらの特性のないルーチンに置き換えてください。 deterministic ではない、または外部アクション・ルーチンに関連する動作が意図したものである場合は、その意図を明示するステートメントの代替形式を使用してください。
sqlcode: -583
sqlstate: 42845
SQL0584N | NULL または DEFAULT の使用は無効です。 |
説明: DEFAULT は、INSERT ステートメントの一部である VALUES 文節内でのみ 使用可能です。
INSERT ステートメントの一部でない VALUES 文節 は、各列の少なくとも 1 行に NULL 以外の値を 持っている必要があります。
DEFAULT を WHERE または HAVING 文節の列名として使用する場合には、これを大文字にして、二重引用符で囲まなければなりません。
連合システム・ユーザー: DEFAULT は、オブジェクトがニックネームである INSERT ステートメントの VALUES 文節では使用されません。
ユーザーの処置: VALUES 文節の値を、NULL または DEFAULT 以外に置き換えてください。DEFAULT を列名として使用する場合には、これを大文字にして、二重引用符で囲まなければなりません。
sqlcode: -584
sqlstate: 42608
SQL0585N | スキーマ名 "<schema-name>" は関数パスに複数回表示 できません。 |
説明: この関数パスは、"<schema-name>" を複数個含んでいます。関数パスには、各スキーマ名の 1 つのオカレンスしか 含むことができません。
ステートメントは処理されません。
ユーザーの処置: 関数パスから、"<schema-name>" の重複オカレンスを 除去してください。
sqlcode: -585
sqlstate: 42732
SQL0586N | CURRENT FUNCTION PATH 特殊レジスターの 合計長は、254 文字を超えることはできません。 |
説明: CURRENT FUNCTION PATH 特殊レジスターは、VARCHAR(254) として定義されています。ストリングの内容に、二重引用符で区切られ、コンマで次の スキーマ名から分離されている各スキーマ名が含まれています。CURRENT FUNCTION PATH のすべてのスキーマ名のストリングの 合計長は、254 文字を超えることができません。このメッセージの原因となる SET CURRENT FUNCTION PATH ステートメント、あるいは PREP または BIND コマンドの FUNCPATH オプションが、この制限を超えました。
ステートメントまたはコマンドが処理されません。
ユーザーの処置: スキーマ名を取り除いて、合計長を最大長の 254 文字に 合うように減らしてください。すべてのスキーマ名が必要な場合は、CURRENT FUNCTION PATH に 必要なスキーマ名が少なくなるように、いくつかのユーザー定義関数の 統合が必要になる可能性があります。
sqlcode: -586
sqlstate: 42907
SQL0590N | プロシージャー "<procedure>" に指定されている名前 "<name>" は固有ではありません。 |
説明: 名前 "<name>" がパラメーター、SQL 変数、カーソル、ラベル、または条件として プロシージャー "<procedure>" に指定されています。 この名前は特定名ではありません。
ユーザーの処置: 特定名になるように変更してください。
sqlcode: -590
sqlstate: 42734
SQL0595W | 分離レベル "<requested-level>" が、"<escalated-level>" に 自動調整されました。 |
説明: 示された分離レベルは、DB2 ではサポートされていません。DB2 がサポートしている分離レベルの次に高いレベルになりました。
ユーザーの処置: この警告を防ぐには、DB2 がサポートしている分離レベルを指定してください。DB2 は、繰り返し可能読み取り (RR)、読み取り固定 (RS)、カーソル固定 (CS)、アンコミット読み取り (UR) の分離レベルをサポートしています。
sqlcode: +595
sqlstate: 01526
SQL0598W | 既存索引 "<name>" が 1 次キーまたは固有キーの索引として 使用されます。 |
説明: 1 次キーまたは固有キーを定義する ALTER TABLE 操作には 索引が必要で、示された索引が必要な索引と一致しています。
1 次キーまたは固有キーを作成中に、同じ列のセット (順序は問わない) を 1 次キーまたは固有キーとして、昇順または降順に関係なく識別し、固有なものとして 識別される場合、索引記述に一致します。
ステートメントは正常に処理されます。
ユーザーの処置: 処置は必要ありません。
sqlcode: +598
sqlstate: 01550
SQL0599W | 長ストリング・データ・タイプにもとづいた異なるタイプに 対しては、比較関数が作成されません。 |
説明: 長ストリング・データ・タイプ (BLOB、CLOB、DBCLOB、LONG VARCHAR、または LONG VARGRAPHIC) にもとづいた 異なるタイプに対しては、対応する関数がこれらの 組み込みデータ・タイプに対して使用できないために、比較関数が作成されません。
これは警告状況です。 ステートメントは正常に処理されます。
ユーザーの処置: 処置は必要ありません。
sqlcode: +599
sqlstate: 01596