Oracle 求一存储过程带输入输出参数 并且调用的实例

2024-12-27 10:54:05
推荐回答(1个)
回答1:

下面的例子代码,  仅仅用于演示  in  out  ,  没有任何数据库检索的处理。

注:
Oracle 的 IN OUT 写在变量名后面。


SQL> CREATE OR REPLACE PROCEDURE HelloWorld2 (
  2    p_user_name IN     VARCHAR2,
  3    p_out_val   OUT    VARCHAR2,
  4    p_inout_val IN OUT VARCHAR2
  5  ) AS
  6  BEGIN
  7     dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');
  8     p_out_val := 'A';
  9     p_inout_val := 'B';
 10  END HelloWorld2;
 11  /

Procedure created.

SQL> DECLARE
  2    p_outval VARCHAR2(10);
  3    p_inoutval VARCHAR2(10) := '~Hi~';
  4  BEGIN
  5    HelloWorld2('Edward', p_outval, p_inoutval);
  6
  7    dbms_output.put_line('p_outval=' || p_outval);
  8    dbms_output.put_line('p_inoutval=' || p_inoutval);
  9  END;
 10  /
Hello Edward~Hi~!
p_outval=A
p_inoutval=B

PL/SQL procedure successfully completed.

SQL>