详细解释下存储过程 in跟out参数的区别,最好举个例子。还有as跟is的区别。

解决方案 »

  1.   

    AS和Is没区别。IN:输入参数;OUT:输出参数.
      

  2.   

    SQL> set serveroutput on
    SQL> var aaa number;
    SQL> create or replace procedure test_1(v_in in number,v_out out number)
      2  as
      3  get_in number;
      4  begin
      5  get_in:=v_in;
      6  v_out:=get_in+1;
      7  dbms_output.put_line(get_in);
      8  end;
      9  /过程已创建。SQL> exec test_1(1,:aaa)
    1PL/SQL 过程已成功完成。SQL> begin
      2  dbms_output.put_line(:aaa);
      3  end;
      4  /
    2PL/SQL 过程已成功完成。
      

  3.   

    IN是输入参数,在传入函数或者存储过程前要先赋值,在函数里和存储过程内不能对其做修改OUT是传出参数,函数和存储过程内可以做修改