Oracle के साथ, आप NESTED TABLE
. का उपयोग करके एक कॉलम में सरणियों को स्टोर कर सकते हैं s (या VARRAY
रों):
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
. इसके कुछ उदाहरण हैं यहांए> और यहांए> ।