Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

oracle11g . में पैरामीटरयुक्त दृश्य बनाना

संदर्भ विधि यहाँ वर्णित है:http://docs.oracle.com/cd/B28359_01/network.111/b28531/app_context.htm

जैसे (उपरोक्त लिंक से अनुकूलित उदाहरण)

CREATE CONTEXT dates_ctx USING set_dates_ctx_pkg;

CREATE OR REPLACE PACKAGE set_dates_ctx_pkg IS 
  PROCEDURE set(d1 in date, d2 in date); 
END; 
/

CREATE OR REPLACE PACKAGE BODY set_dates_ctx_pkg IS
  PROCEDURE set(d1 in date, d2 in date) IS 
  BEGIN 
    DBMS_SESSION.SET_CONTEXT('dates_ctx', 'd1', TO_CHAR(d1,'DD-MON-YYYY'));
    DBMS_SESSION.SET_CONTEXT('dates_ctx', 'd2', TO_CHAR(d2,'DD-MON-YYYY'));
  END;
END;
/

फिर, अपने आवेदन में तिथियां निम्न के साथ सेट करें:

BEGIN set_dates_ctx_pkg.set(mydate1, mydate2); END;
/

फिर, पैरामीटर्स के साथ क्वेरी करें:

SELECT bla FROM mytable
WHERE mydate
  BETWEEN TO_DATE(
            SYS_CONTEXT('dates_ctx', 'd1')
          ,'DD-MON-YYYY')
      AND TO_DATE(
            SYS_CONTEXT('dates_ctx', 'd2')
          ,'DD-MON-YYYY');

इस दृष्टिकोण का लाभ यह है कि यह बहुत ही क्वेरी-फ्रेंडली है; इसमें रनटाइम पर कोई डीडीएल या डीएमएल शामिल नहीं है, और इसलिए चिंता करने के लिए कोई लेनदेन नहीं है; और यह बहुत तेज़ है क्योंकि इसमें कोई SQL - PL/SQL संदर्भ स्विच शामिल नहीं है।

वैकल्पिक रूप से:

यदि संदर्भ विधि और जॉन की पैकेज चर विधि आपके लिए संभव नहीं है, तो दूसरा एक तालिका में पैरामीटर सम्मिलित करना है (उदाहरण के लिए एक वैश्विक अस्थायी तालिका, यदि आप उसी सत्र में क्वेरी चला रहे हैं), तो उस तालिका में शामिल हों दृष्टि से। नकारात्मक पक्ष यह है कि अब आपको यह सुनिश्चित करना होगा कि जब भी आप क्वेरी चलाना चाहते हैं तो पैरामीटर डालने के लिए आप कुछ डीएमएल चलाएं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मुझे इंस्टॉलर संसाधन कहां रखना चाहिए (wxs फ़ाइल, डीएमजी-स्क्रिप्ट, आइकन) और स्वयं निहित ऐप को तैनात करते समय मेवेन एंट्रन को कॉन्फ़िगर कैसे करें

  2. ओरेकल डेटाबेस स्टेटमेंट में ENABLE कीवर्ड का उपयोग करने का कारण / उपयोगिता क्या है?

  3. कॉमा के साथ स्ट्रिंग्स में शामिल होने के लिए ओरेकल एग्रीगेट, और कस्टम एग्रीगेट लिखने के बारे में

  4. Windows 10 Professional पर Oracle 12c मानक संस्करण स्थापित करना

  5. दो तिथियों के बीच तिथियां उत्पन्न करना