今天写了个存储过程,为了删除测试数据用,平常老是pl/sql,查了半天才查到怎么调用存储过程,有的文章写的太乱了,在这里记录一下
在 PL/SQL 中调用存储过程 oracle
1、在sql的执行窗口中只能这样调用"call OUT_TIME(); ",这样执行就是把”call OUT_TIME(); “当成一个sql语句,而exec OUT_TIME();不是一个sql语句,是一个执行体,执行体调用必须在命令窗口,把这句话当成一个整体,也就是plsql块,但是要在sql窗口中之行也可以,这样调用:
begin
OUT_TIME();
end;
2、在命令窗口中两种方式都可以调用
exec OUT_TIME(); --这样,相当于执行一个plsql块,即把”OUT_TIME()“看成plsql块调用。
call OUT_TIME(); --这样,相当于,但用一个方法“OUT_TIME()”,把“OUT_TIME()”看成一个方法。
在PLSQL中,新建一个commond 窗口,再执行exec OUT_TIME();
我的存储过程:
CREATE OR REPLACE PROCEDURE delete_member
(P_PhoneNum in varchar2,
P_MemId in integer)
IS
v_sql VARCHAR2(3000) := '';
BEGIN
。。。。。。。。。。。。。。
END delete_member;
我是这样调用的,exec hxcrm_delete_member('yang123',1); ---带两个输入参数。
感谢:
http://www.cnblogs.com/zhangzhifeng/archive/2011/11/14/2248382.html