sql >> Database teknologi >  >> RDS >> Oracle

Standardparameter i Oracle-proceduren

Først og fremmest tror jeg, at den pakke ville være ugyldig, du forsøger at tilføje en krop for din funktion i din pakkespecifikation. Men hele ideen er god, og den burde virke, hvis det gøres rigtigt, opret f.eks. en pakke:

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;

Og en pakketekst:

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;

Så vil du måske ringe til din procedure:

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

Bemærk venligst at hvis du sender noget som en parameter for v_first_parameter til den procedure, vil den bruge den værdi, du sendte og ikke standardværdien.



  1. Hvordan bruger man for-hver sløjfe, når man indsætter arrays i mysql ved hjælp af Codeigniter?

  2. Nulstil id-antal efter tabelsletning()

  3. INSERT INTO @TABLE EXEC @query med SQL Server 2000

  4. Hvordan kan jeg søge i en tabel med kommaseparerede værdier?