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

Array dalam klausa IN() oracle PLSQL

Dengan asumsi bahwa koleksi Anda didefinisikan dalam SQL, tidak hanya di PL/SQL, Anda dapat menggunakan TABLE operator (definisi yang Anda posting tidak valid secara sintaksis-- Anda harus menentukan panjang untuk VARCHAR2 )

AND p.plc_status IN (SELECT column_value
                       FROM TABLE( plcListchar ))

Karena saya tidak memiliki tabel Anda, contoh menggunakan SCOTT skema

SQL> create type ename_tbl is table of varchar2(30);
  2  /

Type created.

SQL> ed
Wrote file afiedt.buf

  1  declare
  2    l_enames ename_tbl := ename_tbl( 'KING', 'SMITH' );
  3  begin
  4    for i in (select *
  5                from emp
  6               where ename in (select column_value
  7                                 from table( l_enames )))
  8    loop
  9      dbms_output.put_line( 'ENAME = ' || i.ename );
 10    end loop;
 11* end;
SQL> /
ENAME = KING
ENAME = SMITH

PL/SQL procedure successfully completed.



  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, PDO_OCI vs OCI8

  2. Oracle Trigger ORA-04098:pemicu tidak valid dan validasi ulang gagal

  3. Peringatan Waktu Menunggu Basis Data EM12c

  4. Membangun Grafik Ketergantungan Tabel Dengan Query Rekursif

  5. Bagaimana cara membuat urutan Oracle yang dimulai dengan nilai maksimal dari sebuah tabel?