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

SQL-डेटाबेस फ़ील्ड में खोजने योग्य Arrays संग्रहीत करना

Oracle के साथ, आप NESTED TABLE . का उपयोग करके एक कॉलम में सरणियों को स्टोर कर सकते हैं s (या VARRAY रों):

SQL Fiddle

Oracle 11g R2 स्कीमा सेटअप :

CREATE TYPE String_Table IS TABLE OF VARCHAR2(100)
/

CREATE TABLE test (
  id     NUMBER(10,0),
  col1   VARCHAR2(10),
  array1 String_Table
) NESTED TABLE array1 STORE AS test__array1
/

INSERT INTO test ( id, col1, array1 )
  SELECT 1, 'Row1', String_Table( 'A', 'B', 'C' ) FROM DUAL UNION ALL
  SELECT 2, 'Row2', String_Table( 'C', 'D', 'E' ) FROM DUAL
/

क्वेरी 1 :फिर आप संग्रह संचालन का उपयोग कर सकते हैं जैसे:MEMBER OF संग्रह में आइटम खोजने के लिए; और MULTISET ऑपरेटर जैसे SUBMULTISET OF किसी अन्य संग्रह के सभी आइटम वाले संग्रह ढूंढने के लिए।

SELECT *
FROM   test
WHERE  'B' MEMBER OF array1
OR     String_Table( 'E', 'C' ) SUBMULTISET OF array1

परिणाम :

| ID | COL1 | ARRAY1 |
|----|------|--------|
|  1 | Row1 |  A,B,C |
|  2 | Row2 |  C,D,E |

यदि आप जावा का उपयोग कर रहे हैं तो आप जावा सरणियों को PreparedStatement के बाइंड पैरामीटर के रूप में पास कर सकते हैं या CallableStatement . इसके कुछ उदाहरण हैं यहां और यहां




  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 स्वचालित रूप से चयन से कॉलम का नाम बदलें?

  2. Oracle में ग्रेटेस्ट () फ़ंक्शन

  3. तालिका नाम और संबंधित गिनती सूचीबद्ध करने के लिए ओरेकल प्रक्रिया

  4. SQL डेवलपर में SQL स्टेटमेंट ट्यूनिंग

  5. DELETE RESTRICT त्रुटि पर विदेशी कुंजी - Oracle