Oracle存储过程执⾏存储过程带⽇期参数
1、上⼀篇出的是Oracle数据库创建存储过程不带参数,直接执⾏,这种满⾜⽇常查询,这篇是带⽇期的调⽤
那么如果有⼀些常⽤查询或者计算需要传参数的,则需带参和传参,我先⽤⽇期参数做为⽰例
CREATE OR REPLACE PROCEDURE PROC_TEMP1(S_DATE IN VARCHAR2,E_DATE IN VARCHAR2)AS
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE TEMP1 NOLOGGING AS
SELECT T.CREATE_STAFF,T.CREATE_ORG_ID,COUNT(1) ORDER_CNT
FROM TABLE_NAME T
WHERE T.CREATE_ORG_ID<>''0''
AND T.CREATE_STAFF<>''0''
AND T.SYS_SOURCE=''0''
AND T.CREATE_DATE >= TO_DATE('''||S_DATE||''',''YYYY-MM-DD'')
AND T.CREATE_DATE <=TO_DATE('''||E_DATE||''',''YYYY-MM-DD'')
GROUP BY T.CREATE_STAFF,T.CREATE_ORG_ID';
END;
绿⾊字体中就是存储过程创建的关键字;
红⾊字体就是⼊参,和参数的使⽤,传⽇期参数的时候,传VARCHAR2字符类型,然后使⽤TO_DATE转化为⽇期类型,就可以查出数据,⾮常好⽤。
2、执⾏存储过程,代⼊⽇期
BEGIN PROC_TEMP1('2021-07-01','2021-07-02'); END;
这就可以了
oracle手动调用存储过程创建和调⽤都有
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论