如题,谢谢

解决方案 »

  1.   

    没弄懂楼主是什么意思,不过,要想让参数取默认值,可以先规定一个特殊值,比如如果参数是number类型的话,定0(或1或-1)为特殊值,然后在过程里做一下判断,如果传入的参数是0的话,就让其取默认值,这样就可以了。其他数据类型的同理
      

  2.   

    SQL> create or replace procedure example_defaults
      2    (n_1 in number := 5,
      3     n_2 in number := 6,
      4     n_3 in number := 7)
      5  as
      6  begin
      7    dbms_output.put_line(n_1||n_2||n_3);
      8  end;
      9  / SQL> begin
      2    example_defaults(7,8,9);
      3    example_defaults(7,8);
      4    example_defaults(7);
      5    example_defaults();
      6  end;
      7  / 789
    787
    767
    567
      

  3.   

    比如
    create or replace procedure proc_test( o1 out number ,i1 in number default 1,o2 out number)
    as
    begin
      o1:=10 + i1;
      o2:=10;
    end;在如何直接执行就能让i1取默认值而不用if判断
    即是begin proc_test(); end;括号里怎么写???
      

  4.   

    直接在参数类型后加:=defaultvalue