すべてのプロダクト
Search
ドキュメントセンター

PolarDB:パラメーターモード

最終更新日:May 30, 2024

このトピックでは、パラメーターのモードについて説明します。 パラメータは、IN、OUT、およびIN OUTの3つのモードをサポートします。

仮パラメータの次の特性は、そのモードによって異なります。

  • プロシージャまたは関数が呼び出されたときの初期値。
  • 呼び出されたプロシージャまたは関数が仮パラメーターを変更できるかどうか。
  • 実パラメーター値が呼び出し側プログラムから呼び出し先プログラムに渡される方法。
  • 呼び出されたプログラムで未処理の例外が発生した場合の仮パラメーターの値。

次のパラメーターの動作は、パラメーターモードに基づいて要約されています。

  • IN仮パラメータは、デフォルト値で明示的に初期化されていない限り、呼び出される実際のパラメータに初期化されます。 IN パラメーターは、呼び出されたプログラム内で参照できます。 ただし、呼び出されたプログラムは、IN パラメーターに新しい値を割り当てない場合があります。 制御が呼び出しプログラムに戻った後、実際のパラメータは、呼び出しの前に設定されたのと常に同じ値を含む。
  • OUT仮パラメータは、呼び出される実際のパラメータに初期化されます。 呼び出されたプログラムは、新しい値を参照して仮パラメーターに割り当てることができます。 呼び出されたプログラムが例外なく終了した場合、実パラメーターは仮パラメーターに最後に設定された値を引き継ぎます。 処理された例外が発生した場合、実パラメーターの値は、仮パラメーターに割り当てられた最後の値を引き継ぎます。 未処理の例外が発生した場合、実パラメーターの値は、呼び出し前の値のままになります。
  • IN OUT仮パラメータは、inパラメータと同じ方法で処理される。 呼び出される実際のパラメータに初期化されます。 IN OUT仮パラメータは、呼び出されたプログラムによって変更可能であり、呼び出されたプログラムが例外なく終了する場合、仮パラメータの最後の値が呼び出しプログラムの実際のパラメータに渡されます。 これは、OUTパラメータの処理方法と同じです。 処理された例外が発生した場合、実パラメーターの値は、仮パラメーターに割り当てられた最後の値を引き継ぎます。 未処理の例外が発生した場合、実パラメーターの値は、呼び出し前の値のままになります。