Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Passar o valor armazenado em uma variável PL/SQL para uma cláusula IN


Outra maneira é fazer uso de tabelas aninhadas em conjunto com o operador TABLE
create type nt_vr_arr_list is table of number;

DECLARE
  vr_arr_list  nt_vr_arr_list := nt_vr_arr_list(100, 200, 330);
BEGIN
  FOR cx IN (SELECT id, name
               FROM tbl_demo
              WHERE id IN (SELECT COLUMN_VALUE FROM TABLE(vr_arr_list))) LOOP
    DBMS_OUTPUT.put_line('ID: ' || cx.id || ' Name: ' || cx.name);
  END LOOP;
END;