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

एसक्यूएल * प्लस का उपयोग कर एसक्यूएल * प्लस स्क्रिप्ट उत्पन्न करना

समस्या यह है कि SQL*Plus आपके पहले ; . की व्याख्या कर रहा है कमांड के टर्मिनेटर के रूप में। आपने देखा होगा कि यदि आप किसी टेक्स्ट फ़ाइल में अपने आदेश लिखते हैं और उस पर अमल करते हैं (या इसे SQL*Plus से टेक्स्ट एडिटर में संपादित करते हैं) तो यह काम करता है।

इसे लाइव टाइपिंग के साथ काम करने के लिए, यदि आप वास्तव में ऐसा करना चाहते हैं (ऐसा लगता है कि वे बहुत लंबे होने जा रहे हैं!), तो आप टर्मिनेटर की स्वचालित पहचान को बंद कर सकते हैं SET SQLTERMINATOR off . ध्यान दें कि आपको SQL*Plus को बताना होगा कि आपका काम हो गया है और इसे / के साथ निष्पादित करना चाहिए दूसरे ; . के रूप में निर्देश अनदेखा भी किया जाता है।

SQL> SPOOL myscript.sql
SQL> SET SQLTERMINATOR off
SQL> SELECT q'[SPOOL log
  2  SELECT COUNT(*) FROM DUAL;
  3  PROMPT Done.
  4  ]' FROM DUAL
  5  /
SPOOL log
SELECT COUNT(*) FROM DUAL;
PROMPT Done.

यदि आप इन्हें डेटा डिक्शनरी से बना रहे हैं, तो दूसरा विकल्प PL/SQL का उपयोग प्रश्नों और जोड़तोड़ और dbms_output को करने के लिए करना है। उस आउटपुट को उत्पन्न करने के लिए जिसे आप स्पूल करने जा रहे हैं, जब तक कि अंतिम फ़ाइल का आकार बफर सीमा से अधिक न हो।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_QUERY () Oracle में फ़ंक्शन

  2. एक ही टेबल में कई कॉलम के लिए इनर जॉइन करना

  3. Oracle - SDO_GEOMETRY को WKT में परिवर्तित करना?

  4. ऑरैकल डीडी-सोम-वाई वाई को डीडी/एमएम/वाई वाई वाई में कनवर्ट करें

  5. एसक्यूएल/एचक्यूएल जावा से पार्सिंग टेबल और कॉलम नाम