ORACLE PL/SQL: ciclare sulle liste
In questo esempio vediamo come realizzare una lista di valori in PL/SQL Oracle, ciclare su tale lista per svolgere eventuali operazioni.
AGGIORNAMENTI
26/05/2014: creazione articolo
Dicevamo che in questo esempio vedremo come realizzare una lista di valori in PL/SQL Oracle, ciclare su tale lista per svolgere eventuali operazioni. Ad esempio, a partire da una lista di ID dei nostri oggetti effettuare delle operazioni a cascata (disabilitare tutti gli oggetti, cancellarli, ecc...), vedremo quindi come si lavora con gli Array e con i cicli for...loop:
DECLARE
TYPE listaObjs IS TABLE OF VARCHAR2(11);
objs listaObjs := listaObjs('13254376548', '12896543987');
obj VARCHAR2(11);
EX_NO_COMPANY EXCEPTION;
BEGIN
dbms_output.enable;
dbms_output.put_line ('START FUNCTION .......');
BEGIN
FOR INDX IN 1..objs.count LOOP
obj := objs(INDX);
dbms_output.put_line ('process ' || obj);
//esecuzione query per svolgere l''operazione voluta
END LOOP;
commit;
dbms_output.put_line ('commit executed');
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line( SQLERRM );
rollback;
dbms_output.put_line ('rollback executed');
END;
dbms_output.put_line ('END FUNCTION .......');
END;
Ecco qua!
Buon lavoro ;)