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

क्या कोई ऑरैकल SQL क्वेरी किसी तालिका से चयनित स्ट्रिंग क्वेरी को निष्पादित कर सकती है?

आम तौर पर, यह एक विशेष रूप से अच्छा डिज़ाइन नहीं है - SQL को तालिकाओं में संग्रहीत करना और इसे गतिशील रूप से निष्पादित करना सभी प्रकार की सुरक्षा और रखरखाव के मुद्दों का परिचय देता है।

यह क्वेरी जो स्कीमा में प्रत्येक तालिका के विरुद्ध एक गिनती (*) चलाती है यह सब एक प्रश्न में करेगा।

अधिकांश प्रोग्रामर के लिए, हालांकि, सरल तरीका यह होगा कि प्रश्नों पर लूप किया जाए, उन्हें एक बार में चलाया जाए, और परिणामों को कहीं संग्रहीत किया जाए। उदाहरण के लिए, संभावित रूप से स्थानीय चर को गणनाओं के संग्रह में जोड़ा जाएगा।

FOR q IN (SELECT sql_text FROM query_table)
LOOP
  EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM (' || q.sql_text || ')'
     INTO some_local_variable;
  <<do something with the local variable>>
END LOOP;

चूंकि आप एक दृश्य बनाने की कोशिश कर रहे हैं, आप इस तर्क को ले सकते हैं और इसे एक पाइपलाइन टेबल फ़ंक्शन में डाल सकते हैं। आप एक PIPE ROW करेंगे लूप के भीतर डेटा वापस करने के लिए। आपका दृश्य तब पाइपलाइन तालिका फ़ंक्शन के शीर्ष पर बनाया जा सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ट्रिगर जो त्रुटियों के साथ संकलित व्यक्ति तालिका में डालने या हटाने पर लॉग तालिका में पंक्ति सम्मिलित करता है

  2. ओरेकल में अंतराल समारोह

  3. क्या पीएल/एसक्यूएल में स्ट्रिंग को विभाजित करने के लिए कोई फ़ंक्शन है?

  4. PL/SQL में किसी भी देश का वर्तमान स्थानीय समय प्राप्त करें

  5. 12c अनुकूली योजनाएं