sql >> データベース >  >> RDS >> Oracle

Oracleプロシージャのデフォルトパラメータ

    まず、パッケージが無効になると思います。パッケージ仕様に関数の本体を追加しようとしています。ただし、アイデア全体は適切であり、正しく実行された場合、たとえばパッケージを作成すれば、機能するはずです。

    create or replace package xyz is
    
      procedure abc(v_frst_param in varchar2 default 'Y');
    
      procedure abc(v_frst_param in varchar2 default 'Y', v_second_param in varchar2);
    
    end xyz;
    

    そしてパッケージ本体:

    create or replace package body xyz is
    
    procedure abc(v_frst_param in varchar2 default 'Y') is
      begin  
        dbms_output.put_line(v_frst_param);  
      end;
    
    procedure abc(v_frst_param in varchar2 default 'Y', v_second_param in varchar2) is
      begin  
        dbms_output.put_line(v_frst_param || ' / ' || v_second_param);  
      end;
    
    end xyz;
    

    次に、プロシージャを呼び出します。

    begin
      xyz.abc;
      xyz.abc(); -- This is the same thing as above
      xyz.abc(v_second_param => 'Maybe');
    end;
    

    ご注意ください v_first_parameterのパラメータとして何かをそのプロシージャに送信すると、デフォルトの値ではなく、送信した値が使用されます。



    1. テーブル式の基礎、パート3 –派生テーブル、最適化の考慮事項

    2. タイムスタンプではなくDateTimeを選択したのはいつですか

    3. MySQLに保存するためにIPv6をバイナリから変換する方法

    4. PHP/MySQLの非表示エラーメッセージ