sql >> Base de Datos >  >> RDS >> Oracle

Pasar el valor almacenado en una variable PL/SQL a una cláusula IN

Otra forma es hacer uso de tablas anidadas junto con el 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;