oracle里面的存储过程格式为:
CREATE OR REPLACE PROCEDURE 存储过程名字 (参数1 IN NUMBER,
参数2 IN NUMBER )
IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字;注意在oracle存储过程中如果使用了select 在字段后面要加上into来进行承接,否则会报错,例如:
select sysdate into 变量2 from dual。
CREATE OR REPLACE PROCEDURE 存储过程名字 (参数1 IN NUMBER,
参数2 IN NUMBER )
IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字;注意在oracle存储过程中如果使用了select 在字段后面要加上into来进行承接,否则会报错,例如:
select sysdate into 变量2 from dual。
CREATE OR REPLACE PROCEDURE pro_query_for_timezone (p_begin in varchar2,p_end in varchar2,p_rs out sys_refcursor ) as
v_sqlstr varchar2(4000);
BEGIN
v_sqlstr := 'select * from 表 where 时间字段 between :p and :p ';
open p_rs for v_sqlstr using p_begin,p_end;
END;如果是字段是日期类型自己改成date
存储过程中参数分in,out,inout三种,你可以找本书或者网上直接搜一下,看看就明白了
SQL>exec( 'in1','in2',:p_rs);
这样就可以了