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

Oracle में स्पष्ट और निहित कर्सर के बीच अंतर क्या है?

जब आप कोई क्वेरी निष्पादित करते हैं तो Oracle द्वारा आपके लिए एक अंतर्निहित कर्सर "स्वचालित रूप से" बनाया जाता है। यह कोड करना आसान है, लेकिन

. से ग्रस्त है
  • अक्षमता (एएनएसआई मानक निर्दिष्ट करता है कि एक से अधिक रिकॉर्ड होने की जांच करने के लिए इसे दो बार प्राप्त करना होगा)
  • डेटा त्रुटियों के प्रति संवेदनशीलता (यदि आपको कभी भी दो पंक्तियाँ मिलती हैं, तो यह एक TOO_MANY_ROWS अपवाद उत्पन्न करती है)

उदाहरण

SELECT col INTO var FROM table WHERE something;

एक स्पष्ट कर्सर वह है जिसे आप स्वयं बनाते हैं। यह अधिक कोड लेता है, लेकिन अधिक नियंत्रण देता है - उदाहरण के लिए, यदि आप केवल पहला रिकॉर्ड चाहते हैं तो आप केवल ओपन-फ़ेच-क्लोज़ कर सकते हैं और अन्य होने पर परवाह नहीं करते हैं।

उदाहरण

DECLARE   
  CURSOR cur IS SELECT col FROM table WHERE something; 
BEGIN
  OPEN cur;
  FETCH cur INTO var;
  CLOSE cur;
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. हाइबरनेट डेटाबेस से अनुक्रम सूचना प्राप्त नहीं कर सका

  2. एक दृश्य में एक अशक्त स्तंभ कैसे बनाएं?

  3. Oracle sql में तारीख के साथ तुलना करना

  4. Excel दिनांक संख्या को Oracle दिनांक में बदलें

  5. Oracle:दो तिथियों को कैसे घटाएं और परिणाम के मिनट प्राप्त करें