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

गतिशील एसक्यूएल क्वेरी परिणाम प्राप्त करने के लिए plsql ब्लॉक

यह:

dbms_output.put_line(sql_str);

आउटपुट प्रिंट कर रहा है, जो सही व्यवहार है। DECLARE भाग मुझे यह आभास देता है कि आप एक अनाम फ़ंक्शन चलाने का प्रयास कर रहे हैं, सही?

मैंने कभी भी तत्काल निष्पादन का उपयोग नहीं किया - केवल निम्नलिखित:

FUNCTION MY_FUNCTION()
RETURN SYS_REFCURSOR

L_CURSOR SYS_REFCURSOR;
L_QUERY  VARCHAR2(5000) DEFAULT 'SELECT ...';

BEGIN

  OPEN L_CURSOR FOR L_QUERY;
  RETURN L_CURSOR;

END;

यदि आप डायनेमिक SQL में बाइंड वैरिएबल शामिल करना चाहते हैं:

FUNCTION MY_FUNCTION()
RETURN SYS_REFCURSOR

L_CURSOR SYS_REFCURSOR;
L_QUERY  VARCHAR2(5000) DEFAULT 'SELECT ...';

BEGIN

  OPEN L_CURSOR FOR L_QUERY
   USING bind_var1;
  RETURN L_CURSOR;

END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. जेबॉस 7 (जीव्स डीबीएमएस) पर जेएनडीआई डेटासोर्स के लिए ओरेकल कनेक्शन ऑटोोकॉमिट को रोकें

  2. ऑरैकल पीएल एसक्यूएल में गतिशील पिवट कैसे बनाएं

  3. दिनांक कॉलम के लिए SQL गणना

  4. मैं पैरामीटर मानों के साथ Oracle संग्रहीत कार्यविधि कॉल को कैसे लॉग/ट्रेस करूं?

  5. कॉलम का उपयोग करके पंक्तियों को कम संख्या में शून्य से शून्य तक ऑर्डर करें