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;

這就可以了

創建和調用都有

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM