使用PL/SQL创建,测试Oracle存储过程

来源:互联网 发布:闲鱼和淘宝的关系 编辑:程序博客网 时间:2024/06/05 10:53

首先在左边的文件夹中选中procedures文件夹,新建一个存储过程,如下:

create or replace procedure uc_users_amount_pro(endDate in varchar2) is  insMember    number;  perMember    number;  insMemberMon number;  perMemberMon number;--  变量名    表名.字段名%type;--  rowtype表示该类型为行数据类型,存储的是一行数据,一行数据里可以有多列,类似于表里的一行数据,也可以是游标里的一行数据,如:--  vs_row1  表%rowtype;--  vs_row2  游标%rowtype;--  CURSOR 游标名 [( 参数 in type)] IS--  Select 语句begin  select count(*)    into insMember    from uc_users u, uc_form f   where u.form_id = f.id     and f.form_cn = '企业会员'     and u.gmt_create < to_timestamp(endDate,'yyyy-mm-dd');  select count(*)    into perMember    from uc_users u, uc_form f   where u.form_id = f.id     and f.form_cn = '个人会员'     and u.gmt_create < to_timestamp(endDate,'yyyy-mm-dd');  select count(*)    into insMemberMon    from uc_users u, uc_form f   where u.form_id = f.id     and f.form_cn = '企业会员'     and to_char(u.gmt_create, 'yyyy-mm') =         to_char(to_timestamp(endDate, 'yyyy-mm-dd'), 'yyyy-mm');  select count(*)    into perMemberMon    from uc_users u, uc_form f   where u.form_id = f.id     and f.form_cn = '个人会员'     and to_char(u.gmt_create, 'yyyy-mm') =         to_char(to_timestamp(endDate, 'yyyy-mm-dd'), 'yyyy-mm');  dbms_output.put_line(insMember || ' ' || perMember || ' ' ||                       insMemberMon || '' || perMemberMon);end uc_users_amount_pro;

点击左上角的运行按钮,执行这个存储过程


会在下方看见编译成功的提示


然后在这个存储过程的名字上方右键->Test


在下方如图所示输入存储过程中定义的参数的值

点击上方这个按钮开始调试这个存储过程


先不要点击运行按钮,否则看不到效果,点击左数第二个(单步执行)


当运行到你的输出语句时,把鼠标放在变量上面会看见此时变量的值,如下图:


测试完毕

1 0
原创粉丝点击