是否可以爲存儲過程使用日期參數? 例如,日期20171201我需要在dateparameter.prc 中執行一個案例A,並且日期20171202在dateparameter.prc中執行一個case B,這與上面的過程相同。 我使用谷歌搜索和調查一些書籍,但我仍然沒有找到解決辦法。 任何人都可以知道嗎? 謝謝使用日期參數的oracle存儲過程
回答
是否有可能使用存儲過程的日期參數?
是的。一個簡單的例子,需要一個日期作爲IN
日期參數,並將其傳遞直接與OUT
日期參數爲:
CREATE PROCEDURE your_procedure(
in_value IN DATE,
out_return OUT DATE
)
IS
BEGIN
out_return := in_value;
END;
/
謝謝你的例子! – Sudal
是的,這是可能的。
SQL> set serveroutput on
SQL> create procedure dt_demo(p_d date) as
2 begin
3 dbms_output.put_line('p_d = ' || p_d);
4 end;
5/
Procedure created
SQL> exec dt_demo(date '2017-12-02');
p_d = 02.12.17
PL/SQL procedure successfully completed
感謝您的評論 我現在在做編碼! – Sudal
您的程序運行正常。但是
- 表達式「DATE」2017-12-02'「代表ISO日期標準。
- 表達式「dbms_output.put_line('p_d ='|| p_d)」表示在ISO規範之前的常規Oracle日期處理。
在dbms_ouput期間格式化(顯示)日期的方式將日期轉換爲字符串。由於在這種情況下存在隱式轉換,所得格式由NLS_DATA_FORMAT設置控制。它看起來像你的設置爲「dd-mm-yy」。要看到不同的插入/你的EXEC語句之前運行以下命令:
alter session set nls_date_format = 'yyyy-mm-dd
「;
另請參閱Oracle Date Format用於Oracle 11g或以適合您的版本
感謝您的評論! – Sudal
- 1. 帶日期參數的存儲過程
- 2. 傳遞日期作爲存儲過程中的參數(oracle)
- 3. 存儲過程日期參數不投
- 4. 使用實體框架存儲過程的日期參數
- 5. 獲得Oracle存儲過程的參數
- 6. Oracle存儲過程的輸入參數
- 7. 使用Nhibernate使用out參數的Oracle存儲過程
- 8. Oracle將日期和時間插入日期列[存儲過程]
- 9. 使用Oracle存儲過程
- 10. Oracle存儲過程OUT參數
- 11. Oracle存儲過程與參數問題
- 12. oracle存儲過程帶出參數
- 13. Oracle存儲過程結構化參數
- 14. C#Oracle存儲過程參數順序
- 15. Oracle存儲過程列表參數
- 16. Oracle 11g存儲過程參數問題
- 17. ms sql調用帶日期時間參數的存儲過程
- 18. 如何用日期參數在hibernate中調用存儲過程?
- 19. 通過Hibernate在Oracle中存儲日期
- 20. 使用Python中的Oracle存儲過程命名參數
- 21. 使用oracle存儲過程檢查輸入參數的空值
- 22. 日誌存儲過程的參數
- 23. 存儲過程參數的日誌?
- 24. Oracle PL/SQL:使用參數調用存儲過程
- 25. 使用輸出參數調用Oracle存儲過程
- 26. 使用「Oracle.DataAccess」(帶參數)在C#中調用Oracle存儲過程
- 27. 使用存儲過程將當前日期時間插入到oracle數據庫
- 28. 使用參數的存儲過程
- 29. 使用位參數的存儲過程
- 30. 使用參數調用存儲過程
所以,問題是:」是這個可能嗎?「答案是」是的,這是可能的「 – Dmitry
你可以傳遞任何類型的參數DATE是標準的內置類型,就像NUMBER或VARCHAR2一樣。工作? –
謝謝,我是新手,所以對oracle還不太瞭解。 有個美好的一天〜! – Sudal