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

जहां स्थिति pl/sql . के लिए एक सरणी के माध्यम से लूपिंग

हम TABLE का उपयोग कर सकते हैं संख्याओं / वर्णों की सूची प्राप्त करने के लिए संग्रह पर कार्य करें।

SELECT *
FROM TABLE ( sys.odcinumberlist(8779254,8819930,8819931) );

8779254
8819930
8819931

यहाँ मैं Oracle के आंतरिक VARRAY . का उपयोग कर रहा हूँ 32767 की सीमा के साथ। आप अपनी खुद की NESTED TABLE . का उपयोग कर सकते हैं टाइप करें।

create OR REPLACE TYPE yourtype AS TABLE OF NUMBER;

और फिर इसे चुनें।

SELECT *
FROM TABLE ( yourtype(8779254,8819930,8819931) );

तो, आपकी क्वेरी को केवल

. के रूप में लिखा जा सकता है
SELECT x_name
FROM table_x
WHERE x_id IN ( SELECT * FROM 
       TABLE ( yourtype(8779254,8819930,8819931) ) );

12.2 और इसके बाद के संस्करण, आपको TABLE . निर्दिष्ट करने की भी आवश्यकता नहीं होगी ।

SELECT * FROM yourtype(8779254,8819930,8819931) काम करता है।




  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 DATE को LIKE '%' का उपयोग करता है

  2. ऑब्जेक्ट प्रकार समर्थन के साथ .Net के लिए तृतीय-पक्ष Oracle प्रदाता

  3. SQL में कैसे जुड़ें और निकालें

  4. प्रशासन और निगरानी के लिए Oracle डाटाबेस के लिए 27 oracle dba स्क्रिप्ट

  5. अधिकतम योग क्वेरी