PLはパッケージ内のプログラムを再ロードすることを許可します。再ロードとは、2つ以上のプログラムが同じ名前を持ちながら、異なるパラメータ変数、パラメータの順序、またはパラメータデータ型を持つことを指します。呼び出し時には、渡されたパラメータのタイプに基づいてプログラムを選択します。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
以下はパッケージヘッダーの例であり、パラメータを数値型または文字列型で送信することで関数query_obdeptの使用方法を決定し、その後パッケージ本体の定義でそれぞれの機能を実装できます。
CREATE OR REPLACE PACKAGE obdemo_pack1
IS
DeptRec obdept%ROWTYPE;
v_sqlcode NUMBER;
v_sqlerr VARCHAR2(2048);
FUNCTION query_obdept(dept_no IN NUMBER)
RETURN INTEGER;
FUNCTION query_obdept(dept_no IN VARCHAR2)
RETURN INTEGER;
END obdemo_pack1;
/