您的位置:首页 > 数据库 > Oracle

oracle 存储过程

2015-07-13 12:54 555 查看

1、简单存储过程实例

1、只有输入参数

create or replace procedure to_first_test (param1 in varchar2,param2 varchar2) is

begin

dbms_output.put_line('param1='||param1);

end;

  调用

begin

to_first_test('310113200901044825','aa');

end;

2、有输入参数也有输出参数的实例

create procedure to_first_test1 (param1 in varchar2,param2  out varchar2) is

begin

select zjhm into param2 from t_pstu_reginfo where zjhm=param1;

dbms_output.put_line('param1='||param1);

end;

调用

declare   //申明变量

aa varchar2(20); //长度范围必须申明

begin

to_first_test1('310113200901044825',aa);

dbms_output.put_line(aa);

end;

3、有输入参数也有输出参数的实例

SQL> create or replace procedure sp_test(

  2      para_in in varchar2,

  3      para_out_flag out integer,

  4      para_out_char out varchar2

  5   )

  6  is

  7  begin

  8    BEGIN

  9      para_out_flag := 1;

 10      para_out_char := to_char(sysdate,'yyyymmdd')||para_in||trunc(dbms_random.value(1000000,0));

 11    exception when OTHERS THEN

 12      para_out_flag := 0;

 13    END;

 14  end;

 15  /

Procedure created

SQL> 

SQL> declare

  2   p_out_flag integer;

  3   p_out_char varchar2(20);

  4  begin

  5    sp_test('abcdef',p_out_flag,p_out_char);

  6    dbms_output.put_line(p_out_flag);

  7    dbms_output.put_line(p_out_char);

  8  end;

  9  /

1

20081007abcdef89969

PL/SQL procedure successfully completed
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: