oracle procedure 进阶
继续学习存储过程
- 测试proceduce
简单测试创建的pro是否正确,可以使用exec指令
set serveroutput on; exec helloPro; -- helloPro是已经新增的pro
总结调用pro有两种方法
方法1:
EXECUTE(或者 EXEC) 模式名.存储过程名[(参数...)];
方法2:
BEGIN
模式名.存储过程名[(参数...)];
END;
- procedure 参数
可以设置传入参数和传出参数
定义一个pro,简单输入date类型数据,输出字符串数据
参数部分用于定义多个参数(如果没有参数,就可以省略)。参数有三种形式:IN、OUT和IN OUT。如果没有指明参数的形式,则默认为IN。
1 create or replace PROCEDURE date2String(vDate in date, vString out varchar2) 2 IS 3 BEGIN 4 DBMS_OUTPUT.PUT_LINE('input vDate:' || vDate); 5 vString := to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'); 6 END;
执行pro
set serveroutput on; declare result varchar2(30); begin date2String(vDate => sysdate, vString => result); DBMS_OUTPUT.PUT_LINE('output result:' || result); end;
正常执行toad输出如下
vDate:15-7月 -18 output result:2018-07-15 17:00:16 PL/SQL procedure successfully completed.
- 在一个procedure中可以直接调用同一用户定义的另一个procedure
- 后续应该学习package

浙公网安备 33010602011771号