Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Menyimpan Array yang dapat dicari di bidang database SQL

Dengan Oracle, Anda dapat menyimpan array dalam kolom menggunakan NESTED TABLE s (atau VARRAY s):

SQL Fiddle

Pengaturan Skema 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
/

Kueri 1 :Kemudian Anda dapat menggunakan operasi pengumpulan seperti:MEMBER OF untuk menemukan item dalam koleksi; dan MULTISET operator seperti SUBMULTISET OF untuk menemukan koleksi yang berisi semua item dari koleksi lain.

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

Hasil :

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

Jika Anda menggunakan Java maka Anda dapat meneruskan array Java sebagai parameter pengikatan PreparedStatement atau CallableStatement . Beberapa contohnya adalah di sini dan di sini .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memotong tabel dalam prosedur tersimpan

  2. Pengecualian Pelanggaran Batasan ORA-00001

  3. Server Oracle 12c tidak dapat diakses dari komputer jarak jauh menggunakan penyedia .Net

  4. Oracle sql mengetik melalui dblink

  5. Masalah GROUP BY yang rumit di ORACLE