プライマリ・コンテンツに移動
Oracle® Databaseエラー・メッセージ
12cリリース1 (12.1)
E49325-10
目次へ移動
目次

前
次
機械翻訳について

91 PLW-05000からPLW-07206

PLW-05000: 仕様部と本体間のNOCOPY条件が一致していません

原因: 指定のパラメータの宣言に、サブプログラムの仕様部ではNOCOPYヒントを使用していて本体で使用されていないか、または本体ではNOCOPYヒントを使用していて仕様部では使用されていません。

処置: 仕様部と本体でNOCOPYの使用が一致していることを確認してください。 この不一致を訂正しないと、プログラムは本体での宣言を無視して仕様部での宣言に従います。

PLW-05001: string'(行string)の以前の使用方法が、この使用方法と競合します。

原因: 変数、定数またはラベルの以前の宣言を検索しているときに、コンパイラが同じ有効範囲で同じ名前を持つ別の宣言を見つけました。 または、パッケージの仕様部と本体で、サブプログラムのヘッダーが一致しません。

処置: 変数名、定数名またはラベル名の綴りを確認してください。 また、同じ有効範囲の中で宣言されているすべてのパラメータおよび例外の名前を確認してください。 次に、重複する名前を持つオブジェクトを削除するか名前を変更してください。 または、両者が一致するように、パッケージ仕様部または本体でパッケージされたサブプログラムのヘッダーを変更してください。

PLW-05003: INとNOCOPYで同一の実パラメータ(stringstring)を使用すると、他の問題が発生する可能性があります

原因: 指定のパラメータの宣言に、サブプログラムの仕様部ではNOCOPYヒントを使用していて本体で使用されていないか、または本体ではNOCOPYヒントを使用していて仕様部では使用されていません。

処置: 仕様部と本体でNOCOPYの使用が一致していることを確認してください。 この不一致を訂正しないと、プログラムは本体での宣言を無視して仕様部での宣言に従います。

PLW-05004: 識別子stringは、STANDARDでも宣言されているか、またはSQLビルトインです

原因: 指定された識別子は、o) パッケージSTANDARDでも宣言されているか、o) SQL組込み関数であるか、またはo) 疑似列です。 この状況では、SQL文のローカル宣言でSTANDARD/組込み宣言が選択されるため、名前の解決に問題が発生する可能性があります。ただし、ローカル宣言はSQL有効範囲外のSTANDARD/組込み宣言で選択されます。 (PL/SQLの名前解決については、ドキュメントを参照してください。)

処置: o) 指定した識別子の名前を変更するか、o) 識別子への参照を有効範囲名で修飾するか、o) SQL有効範囲内で識別子を使用する場合は、意図した解決が発生することを確認してください。

PLW-05005: サブプログラムstringは、行stringに値なしで戻ります

原因: ファンクションは戻り値なしで終了しました。 すべてのPL/SQLファンクションには値付きのRETURN文が必要です。

処置: ファンクションのソース・コードを調べ、あらゆるRETURN文が値を戻すこと、およびファンクションがEND文の実行によって終了しないことを確認してください。 ファンクション・コールがインライン化されている場合、およびコールされたファンクションが正常に終了しなかった場合には、ファンクションのコール場所にこのメッセージが表示される場合があります。

PLW-05006: シャドウ・タイプ生成の結果の警告: string

原因: 表関数のコンパイルにより、内部生成のタイプが作成されます。 問題が発生したのはこのようなタイプの作成中で、このタイプの作成を妨げるほどには深刻ではありませんが、表関数の使用に影響を与える可能性があります。 詳細は、付随するエラー・メッセージを参照してください。

処置: 付随するエラー・メッセージでレポートされた問題を修正してください。

PLW-05007: プラグマINLINEへの最初のパラメータは、識別子である必要があります

原因: プラグマINLINEへの最初のパラメータは、プロシージャまたはファンクションを示す識別子である必要があります。

処置: プロシージャ名またはファンクション名を使用してください。

PLW-05008: プラグマstringの引数の数が正しくありません

原因: 示されたプラグマ(コンパイラ・ディレクティブ)に渡された引数(実際のパラメータ)の数が誤っています。 必要な引数が引数リストに入っていないか、またはプラグマの構文が誤っています(たとえば、2つのパラメータ間のカンマ(,)が欠落しています)。

処置: 必要な引数を指定するか、構文エラーを修正してください。

PLW-05009: プラグマINLINEは宣言リストにありません

原因: プラグマINLINEは次に続く文にのみ適用されるため、宣言の直前に記述できません。

処置: プラグマを削除してください。

PLW-05010: プロシージャ'string'のプラグマINLINEが重複しています

原因: プラグマINLINEは同じ文の同じプロシージャに2度適用されました。 プロシージャは、重複しているすべてで制御値'YES'が指定されている場合のみインライン化されます。

処置: 重複するプラグマを削除してください。

PLW-05011: プロシージャ'string'のプラグマINLINEはコールには適用されません

原因: プラグマINLINEが指定されましたが、示されているプロシージャのコールが次の文にありません。

処置: 不要なプラグマを削除してください。

PLW-05012: プロシージャ'string'のプラグマINLINEを適用できませんでした

原因: プラグマINLINE(name、'yes')が使用されましたが、指定されたプロシージャをインライン化できませんでした。

処置: インラインをブロックしている要因を除去します。 考えられる問題点については、ドキュメントを参照してください。

PLW-05013: プラグマINLINE 'string'への2番目のパラメータは'YES'または'NO'ではありません

原因: プラグマINLINEの2番目のパラメータは、プロシージャ・コールをインライン化できるかどうかを制御します。 有効な値は'YES'のみで、コンパイラはコールのインライン化を試みます。'NO'を指定すると、コンパイラはコールをインライン化しません。

処置: 'YES'または'NO'を適切に使用してください。

PLW-05014: Pragma stringはここでは指定できません

原因: プラグマが不適切なコンテキストで宣言されました。

処置: 位置の異なるプラグマを削除するか、または位置を変更してください。 ドキュメントでこのプラグマに対して適正なコンテキストを確認してください。

PLW-05015: 実装上の制約 - デバッグ・レコードが多すぎます

原因: プログラムが大きすぎて、デバッグ・シンボル表のサイズのコンパイラ制限をオーバーフローしました。 モジュールは一部のデバッグ情報を付加してコンパイルされました。

処置: PLSQL_DEBUG=FALSEを指定してモジュールをコンパイルするか、そのモジュールを複数のモジュールに分割してください。

PLW-05016: INTO句はここでは指定できません

原因: INTO句がカーソル宣言で正しく指定されていません。 FETCH文で指定する必要があります。

処置: 間違っている句の位置を変更してください。

PLW-05017: 式の接頭辞は無視されます

原因: 明示的なSELFとピリオド付きの名前を使用して、汎用化された呼出しが型メソッドのコールに使用されたので、ピリオド付きの名前の接頭辞が無視されます。

処置: ピリオド付きの名前を使用して、このコンテキストの型メソッドを呼び出さないでください。

PLW-05018: ユニットstringはオプションのAUTHID句を省略しました。デフォルト値のDEFINERが使用されました

原因: AUTHID句が欠落しています。 このユニットでは、AUTHID句を指定できます。 この句が欠落している場合には、デフォルトでDEFINERの権限が使用されます。 AUTHID句を常に明示的に使用することをお薦めします。

処置: ユニットにAUTHID句を明示的に記述してください。

PLW-05019: キーワードstringの近くの言語要素は、バージョンstring以降では推奨されていません

原因: 非推奨の言語要素が使用されました。 メッセージ・テキストに指定されたバージョン番号以上のPL/SQLバージョンでは、この言語要素は非推奨になっています。

処置: 非推奨の言語要素を削除するか、または修正してください。 PL/SQLの非推奨の言語要素は、非推奨になった1つ後のバージョンで廃止されます。 廃止された言語要素はサポートされなくなり、使用するとエラーが発生するようになります。

PLW-05020: パラメータ名は識別子にする必要があります

原因: 名前付き表記法を使用するコールで、パラメータ名として文字列リテラルが使用されました。

処置: パラメータ名に識別子を使用するようにコードを変更してください。

PLW-05021: 例外stringにはプラグマEXCEPTION_INITがありません

原因: ユーザー定義の例外が宣言されましたが、プラグマEXCEPTION_INITによって例外番号が指定されませんでした。 すべてのユーザー定義の例外を明示的に番号付けすることをお薦めします。

処置: プラグマEXCEPTION_INITを追加して、例外に番号を付けてください。

PLW-05022: 引数'string'は比較可能ではありません

原因: IN、BETWEENまたはMEMBER OFの引数が比較可能な型ではありませんでした。 または、引数がオブジェクト型の場合、MAPメソッドまたはORDERメソッドがこの型に指定されませんでした。

処置: 適切な引数を使用するか、MAPメソッドまたはORDERメソッドを指定してください。

PLW-05023: SYSAUXがオフラインのため、PL/Scopeが無効です。

原因: SYSAUX表領域がコンパイル時にオフラインであったため、PL/Scopeが現行のPL/SQLユニットのコンパイルに対して無効でした。 PL/ScopeはSYSAUX表領域に識別されたメタデータを格納するため、SYSAUXがオフラインのときには機能できません。

処置: SYSAUXがオンラインであることを確認し、PL/SQLユニットを再コンパイルしてください。

PLW-05024: BULK COLLECT句をカーソル宣言で使用しないでください

原因: A BULK COLLECT句がカーソル宣言で指定されていました。

処置: BULK COLLECT句をカーソル宣言から削除し、必要に応じてFETCH文に移動してください。

PLW-05999: 実装制限(おそらく一時)string

PLW-06002: 使用不可コード

原因: 静的プログラム解析では、実行中に指定された行のコードに決して到達しないことが判明しました。 これは、コンパイル時に式の評価が原因で発生している可能性があります。

処置: プログラム・ロジック内で可能な誤りの有無を検査してください。 大部分のコードが意図的に到達不能にしてあり、警告メッセージが役立たない場合は、警告を使用禁止にします。

PLW-06003: 不明なディレクティブ'string'

原因: 不明なディレクティブが使用されています。 ディレクティブが事前定義およびユーザー定義されていません。

処置: 事前定義されたディレクティブを使用するか、またはディレクティブを定義してください。

PLW-06004: プロシージャ'string'のコールのインラインがリクエストされました

原因: 指定されたプロシージャを参照するプラグマINLINE(, 'YES')が指定されています。 可能な場合、コンパイラはこのコールをインライン化します。

処置: 該当なし

PLW-06005: プロシージャ'string'のコールのインラインが実行されました

原因: プロシージャのコールがインライン化されました。

処置: 該当なし

PLW-06006: コールされていないプロシージャ"string"が削除されます

原因: 静的プログラム分析により、プロシージャはコールされないか、または実行されないことが判別されました。 このため、コンパイル時の時間および実行時の領域を節約するため削除されました。

処置: プログラム・ロジック内で可能な誤りの有無を検査してください。 プロシージャは有効ですが現在使用されていないだけで、警告メッセージが役立つよりも害になる場合は、警告を無効化してください。

PLW-06007: 最適化でコールが削除されるため、"string"が削除されます

原因: 静的プログラム分析により、プロシージャはコールされないか、または実行されないことが判別されました。 このため、コンパイル時の時間および実行時の領域を節約するため削除されました。

処置: プログラム・ロジック内で可能な誤りの有無を検査してください。 プロシージャは有効ですが現在使用されていないだけで、警告メッセージが役立つよりも害になる場合は、警告を無効化してください。

PLW-06008: プロシージャ'string'のコールはインラインされません

原因: 指定されたプロシージャを参照するプラグマINLINE(, 'NO')が指定されています。 コンパイラはこのコールをインライン化できません。

処置: 該当なし

PLW-06009: プロシージャ"string" OTHERSハンドラは、RAISEまたはRAISE_APPLICATION_ERRORでは終了しません

原因: OTHERSハンドラは、RAISEまたは標準プロシージャRAISE_APPLICATION_ERRORのコールを実行せずに終了する場合があります。

処置: 優れたプログラミング手法として、OTHERSハンドラは常に例外を上の階層に渡す必要があることをお薦めします。 プログラム・ロジックを検査して、ハンドラ・コードの修正が必要かどうかを判別してください。

PLW-06010: キーワード"string"が定義名として使用されました

原因: PL/SQLまたはSQLキーワードが定義名として使用されました。 有効ですが、これはお薦めしません。

処置: 定義するアイテムに対して別の名前を選択してください。

PLW-06011: サイズに制限があるため、依存についての詳細情報を廃棄しました

原因: コンパイル・ユニットが大きすぎて、無効になった場合、そのユニットをすぐにリコンパイルするために使用できる、詳細な依存性情報を保存できませんでした。

処置: ユニットを小さなユニットに分けてください。

PLW-06012: SQL文はインラインできません。string

原因: SQL文をインライン化できませんでした。

処置: 該当なし

PLW-06013: 非推奨のパラメータPLSQL_DEBUGがPLSQL_OPTIMIZE_LEVEL <= 1を強制しています

原因: PLSQL_DEBUGパラメータがTRUEに設定されたため、最適化レベルは、PLSQL_OPTIMIZE_LEVELパラメータがより高いレベルに設定されていても、強制的に1(またはユーザーが0を選択した場合は0)になります。

処置: 推奨されていないので、PLSQL_DEBUGパラメータは使用しないでください。 かわりに、PLSQL_OPTIMIZE_LEVELパラメータを1に設定してください。

PLW-06014: PLSQL_OPTIMIZE_LEVEL <= 1はネイティブ・コードの生成を無効にします

原因: 最適化が1以下に設定されたため、ネイティブ・コード生成は実行されませんでした。

処置: ネイティブ・コード生成の目的は高いパフォーマンスを実現することなので、最適化レベルを低くするとこの目的からはずれてしまいます。 より高い最適化レベルをリクエストするか、ネイティブ・コード生成のリクエストを削除します。 非推奨のパラメータPLSQL_DEBUGを使用した場合も、最適化レベルは強制的に1になることに注意してください。ネイティブ・コード生成が必要な場合は、このパラメータを使用しないでください。

PLW-06015: パラメータPLSQL_DEBUGは推奨されていません。PLSQL_OPTIMIZE_LEVEL = 1を使用してください

原因: PLSQL_DEBUGパラメータが指定されました。

処置: パラメータPLSQL_DEBUGでは、PL/SQLコンパイラによるデバッグ情報の生成は制御されていません。デバッグ情報は常に生成されるので、特別なパラメータは必要ありません。

PLW-06016: ユニットstringが大きすぎます。ネイティブ・コードの生成が無効になりました

原因: プログラムが大きすぎたために、分析に長時間または大量の領域が必要となり、ネイティブ・コンパイルが無効になりました。

処置: ネイティブ・コード生成の目的は高いパフォーマンスを実現することであり、コンパイラはプログラムを広範囲に分析します。 可能であれば、最も大きいプロシージャのサイズを小さくするか、プログラム・ユニットを複数のユニットに分割してください。

PLW-06017: 操作によって例外が発生します

原因: この場所の周辺での操作によって実行中に確実に例外が発生しますが、明示的なRAISEでないため、プログラミング・エラーの可能性があります。

処置: 実行中にこの場所の周辺での操作によって例外が確かに発生することが、コンパイラによって判別されました。 これはプログラミング・エラーの可能性があります。コードの修正を検討してください。 意図的に例外を発生させる場合は、明示的なRAISE文を使用してください。

PLW-06018: 無限大またはNaN値が計算または使用されます

原因: この場所の周辺での操作によって、無限大のNUMBER、BINARY_FLOATまたはBINARY_DOUBLEの値、あるいはNaNのBINARY_FLOATまたはBINARY_DOUBLEの値が、計算または使用されます。

処置: この場所の周辺での操作によって無限大または非数値(NaN)のいずれかの値が計算または使用されることが、コンパイラによって判別されました。 これは、プログラミング・エラーを示している可能性があります。コードの修正を検討してください。 非数値のBINARY_FLOATまたはBINARY_DOUBLEの値を意図的に使用する場合は、値を計算するのではなく、STANDARDから該当する定数を使用してください。 これらの値には有効な使用方法がいくつかありますが、その場合にも警告は表示されます。 無限大のNUMBERの値の使用方法は明確に規定されていないため、使用しないようにしてください。

PLW-07202: バインド型は、列タイプとは異なる変換になります

原因: 列の型とバインド型が正確に一致していません。 このため、列がバインド変数の型に変換されます。 この型変換により、SQLオプティマイザは列が参加する索引を使用できなくなることがあります。 これにより、この文の実行パフォーマンスが低下する可能性があります。

処置: この列の索引を使用するには、バインド型が列の型と同じであることを確認してください。

PLW-07203: パラメータ'string'は、NOCOPYコンパイラ・ヒントを使用することにより、パフォーマンスを向上できる可能性があります。

原因: 指定されたパラメータのモードがIN OUTまたはOUTです。 NOCOPYコンパイラ・ヒントを使用すると、このサブプログラムのコールを高速化できる場合があります。

処置: パラメータのモードを、NOCOPYコンパイラ・ヒントを明示的に使用するように変更してください。 たとえば、サブプログラム宣言がPROCEDURE proc(p1 IN OUT CLOB);の場合は、PROCEDURE proc(p1 IN OUT NOCOPY clob);に変更するとNOCOPYヒントの利点が得られます。 オブジェクト型のメンバー・プロシージャまたはファンクションの場合は、次のようにSELFパラメータの明示的な宣言が必要になることがあります。MEMBER PROCEDURE proc(SELF IN OUT NOCOPY MY_TYPE);

PLW-07204: 列タイプと異なる変換は、最適な問合せ計画が生成されない可能性があります

原因: 列の型とバインド型が正確に一致していません。 このため、列がバインド変数の型に変換される可能性があります。 この型変換により、SQLオプティマイザは列が参加する索引を使用できなくなることがあります。 これにより、この文の実行パフォーマンスが低下する可能性があります。

処置: この列の索引を使用するには、バインド型が列の型と同じであることを確認してください。

PLW-07205: SIMPLE_INTEGERがBINARY_INTEGERまたはPLS_INTEGERと混在しています

原因: 同じ算術式にSIMPLE_INTEGERと、BINARY_INTEGERまたはPLS_INTEGER引数を使用すると、特定の最適化を妨げる可能性があります。

処置: 式がパフォーマンス・クリティカル・パスで計算される場合のみ、SIMPLE_INTEGER値を使用するようにしてください。

PLW-07206: 分析の結果、'string'への割当ては必要ありません

原因: この割当ては不要になる可能性があります。PL/SQLオプティマイザは、設定されている変数の使用をこれ以上検出できませんでした。 特定の例外の発生などの不測の動作に対して割当てが行われていた場合、コンパイラは不測の動作を認識できない可能性があるため、この警告が適切ではないことがあります。

処置: その値が再び使用されない変数が割当てで設定されていて、考慮する不測の動作(例外またはコール)がない場合は、パフォーマンス向上のため割当てを削除します。 特定の既知の例外を発生するための割当てである場合は、割当てをRAISE文に置き換えてください。