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

Oracle:'तत्काल निष्पादित' का क्या अर्थ है?

यह नेटिव डायनामिक SQL चलाने के लिए है। ।

डीएमएल के लिए आप इसका उपयोग उन बयानों को चलाते समय करेंगे जो आपके पास संकलन समय पर उपलब्ध नहीं हैं, उदा। यदि कॉलम सूची उपयोगकर्ता के चयन पर आधारित है।

आपके मामले में इसका उपयोग किया जा रहा है क्योंकि डीडीएल को पीएल/एसक्यूएल के भीतर से स्थिर एसक्यूएल के रूप में नहीं चलाया जा सकता है। केवल कुछ क्वेरी, DML और TCL कमांड मान्य हैं . किसी और चीज को गतिशील माना जाना चाहिए।

मैं कहूंगा कि पीएल/एसक्यूएल ब्लॉक से डीडीएल का उपयोग करना दुर्लभ है। TRUNCATE उचित हो सकता है; अगर आपको कुछ भी वस्तु बनाते या गिराते हुए मिलते हैं तो यह एक चिंता का विषय हो सकता है क्योंकि यह एक उप-इष्टतम डेटा मॉडल का सुझाव दे सकता है।

EXECUTE IMMEDIATE स्वयं स्वचालित रूप से प्रतिबद्ध नहीं होता है; लेकिन अगर आप डीडीएल को निष्पादित करते हैं तो वह वैसा ही व्यवहार करेगा जैसे कि आप इसे पीएल/एसक्यूएल के बाहर चलाते हैं, इसलिए यह आपके मामले में प्रतिबद्ध होगा, हां।

संयोग से, मुझे यकीन नहीं है कि आपका कोड बयान रखने के लिए मध्यवर्ती चर का उपयोग क्यों कर रहा है; यह उपयोगी है यदि आप यह प्रदर्शित करना चाहते हैं कि यह क्या चलाने जा रहा है, लेकिन आप ऐसा नहीं कर रहे हैं। आप क्या कर सकते थे:

EXECUTE IMMEDIATE 'TRUNCATE TABLE BD_BIDS_EXT_DET';

यानी V_SQL_1 . का उपयोग किए बिना बिल्कुल।



  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. Php_oci8.dll लोड करने का प्रयास करते समय स्टार्टअप पर PHP चेतावनी

  5. टेबल इंडेक्स के कॉलम चुनें