Oracle
 sql >> Base de données >  >> RDS >> Oracle

Passer la valeur stockée dans une variable PL/SQL dans une clause IN

Une autre façon consiste à utiliser les tables imbriquées en conjonction avec l'opérateur 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;