ヘッダーをスキップ
Oracle Databaseエラー・メッセージ
11g リリース1(11.1)
E05746-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

50 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関数にはリターン文が必要です。
処置: 関数のソース・コードの終了ポイントを調べ、関数の終了時にランタイム・エラーが生成されないように、各ポイントにリターン文を置いてください。
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-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-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文に置き換えてください。