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
posted @ 2018-07-15 17:25  sandsuna  阅读(223)  评论(0)    收藏  举报