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