Oracle
 sql >> база данни >  >> RDS >> Oracle

PL/SQL - Използване на променлива на списък в клауза Where In

Използвайте колекция:

CREATE TYPE Varchar2TableType AS TABLE OF VARCHAR2(200);

Или използвайте вграден тип като SYS.ODCIVARCHAR2LIST или SYS.ODCINUMBERLIST :

VARIABLE cursor REFCURSOR;

DECLARE
  your_collection SYS.ODCIVARCHAR2LIST := SYS.ODCIVARCHAR2LIST();
BEGIN
  your_collection.EXTEND( 100 );

  your_collection(  1) := 'Some value';
  your_collection(  2) := 'Some other value';
  -- ...
  your_collection(100) := DBMS_RANDOM.STRING( 'x', 20 );

  OPEN :cursor FOR
  SELECT t.*
  FROM   your_table t
         INNER JOIN
         TABLE( your_collection ) c
         ON t.id = c.COLUMN_VALUE;
END;
/

PRINT cursor;


  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 Database Client стъпка по стъпка

  2. Как да експортирате резултатите от заявката в CSV файл в SQLcl (Oracle)

  3. Стъпка по стъпка R12.2.6 Инсталиране на EBS на Virtual Box

  4. Метаданни относно типове записи на ниво пакет PL/SQL

  5. Каква е разликата между маската за дата "yy" и "rr" на Oracle?