Devolver resultado como una lista
Si queremos utilizar un conjunto de registros o ids para una futura operaciones de conjuntos, por ejemplo condicionar que un valor esté dentro de una lista de valores, lo normal es calcular el conjunto a comparar en una subconsulta. Pero por diversas razones puede que queramos tener esa lista preparada o poder llevarla a otra BBDD.Select id from tabla;
Nos devuelve un conjunto de registros, cada valor es una celda en un registro nuevo.
Select wm_concat(id) from tabla;
Nos devuelve un registro con una celda cuyo valor serían los valores separados por coma: id1, id2, id3, id4. Esta instrucción depende de la versión de la BBDD Oracle.
Mensajes por consola
Comando set serveroutput on; para activar la impresión de mensajes por la consola. dbms_output.put_line('Mensaje a mostrar'); para imprimir un mensaje. Los mensajes en un bloque PL/SQL se muestran por consola una vez finalizado dicho bloque. Ejemplo:
DECLARE
idNuevoConcepto NUMBER;
BEGIN
dbms_output.put_line('Comienzo ejecución');
idNuevoConcepto := 916;
for reg in (Select idest from estadosfinancieros
where fecha >= '1/1/2008') loop
Insert into importes_estados_financieros
(ief_id, ief_importe, ief_ef_id, ief_idest) values
(imp_estados_financieros_s1.nextval,
0, idNuevoConcepto, reg.idest);
end loop;
dbms_output.put_line('Finalizando');
END;
Notepad++ es una excelente herramienta de apoyo para tratar texto. Muy en línea con Ultraedit no sabría decir cual es mejor, yo estoy acostumbrado al camaleon. Dispone de muchas opciones, voy a comentar dos que particularmente me han sido muy útiles.