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

ऑरैकल में राउनम का उपयोग करके डेटा ला रहा है

राउनम एक छद्म स्तंभ है जो परिणाम सेट में पंक्तियों की गणना करता है जहां क्लॉज लागू किया गया है।

  SELECT table_name
    FROM user_tables
    WHERE rownum > 2;
TABLE_NAME                     
------------------------------

0 rows selected

हालांकि, तालिका में पंक्तियों की संख्या की परवाह किए बिना, यह क्वेरी हमेशा शून्य पंक्तियों को लौटाएगी।

इस व्यवहार की व्याख्या करने के लिए, हमें यह समझने की आवश्यकता है कि Oracle ROWNUM को कैसे संसाधित करता है। एक पंक्ति में ROWNUM निर्दिष्ट करते समय, Oracle 1 से शुरू होता है और केवल एक पंक्ति के चयनित होने पर मान में वृद्धि करता है; यानी, जब WHERE क्लॉज की सभी शर्तें पूरी होती हैं। चूँकि हमारी शर्त के लिए यह आवश्यक है कि ROWNUM 2 से बड़ा हो, कोई पंक्तियाँ नहीं चुनी जाती हैं और ROWNUM कभी भी 1 से आगे नहीं बढ़ता है।

http://blog.lishman.com/2008/03/rownum.html

एक और स्टैक ओवरफ्लो लिंक

संपादित

यह पैराग्राफ मुझे oracle पर मिलता है वेबसाइट जो बहुत बेहतर है

सकारात्मक पूर्णांक से बड़े ROWNUM मानों के लिए परीक्षण की शर्तें हमेशा झूठी होती हैं। उदाहरण के लिए, यह क्वेरी कोई पंक्ति नहीं लौटाती है:

SELECT * FROM employees
    WHERE ROWNUM > 1;

प्राप्त की गई पहली पंक्ति को 1 का ROWNUM असाइन किया गया है और यह शर्त को गलत बनाता है। प्राप्त की जाने वाली दूसरी पंक्ति अब पहली पंक्ति है और इसे 1 का ROWNUM भी दिया गया है और यह स्थिति को गलत बनाता है। बाद में सभी पंक्तियाँ शर्त को पूरा करने में विफल हो जाती हैं, इसलिए कोई पंक्तियाँ वापस नहीं की जाती हैं।

आप तालिका की प्रत्येक पंक्ति के लिए अद्वितीय मान निर्दिष्ट करने के लिए ROWNUM का भी उपयोग कर सकते हैं, जैसा कि इस उदाहरण में है:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle के अलावा RDBMS में कनेक्ट BY या पदानुक्रमित प्रश्न

  2. to_date त्रुटि substr . का उपयोग करते समय

  3. अपवाद ORA-08103:हाइबरनेट के setfetchsize का उपयोग करने पर ऑब्जेक्ट अब मौजूद नहीं है

  4. शालीनता की ओर जाता है:जोखिम वास्तविकता बन जाता है

  5. ओरेकल फॉर्म से माइक्रोसॉफ्ट वर्ड स्पेल चेक को लागू करते समय विस्टा फोकस मुद्दा