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;
這就可以了
創建和調用都有
