ORACLE Como usar spool com localização dinâmica de spool
Ok, então eu sou um completo newb com oracle. Agora que isso está fora do caminho;
Eu acho que você pode entender o que eu estou tentando fazer abaixo. Para cada procedimento armazenado encontrado, envie o DDL para um nome de arquivo com seu nome.
O problema é que não consigo descobrir como obter o destino de spool para pegar o valor de FileName que está sendo definido pelo cursor.
DECLARE
objName varchar2(50);
FileName varchar2(50);
cursor curProcs is
select OBJECT_NAME into objName
FROM ALL_PROCEDURES WHERE OWNER = 'AMS'
ORDER BY OBJECT_NAME; -- get all procs in db
BEGIN
open curProcs;
if curProcs%ISOPEN THEN
LOOP
FETCH curProcs into objName;
EXIT WHEN curProcs%NOTFOUND;
FileName := 'C:\ ' || objName || '.PRC.SQL';
spool FileName; --BREAKS
DBMS_METADATA.GET_DDL('PROCEDURE',objName);
spool off;
END LOOP;
END IF;
END;
Alguma idéia de onde eu estou errado? e se alguém tiver um exemplo disso eu agradeceria muito.
Eu sinto que devo estar dançando em torno dele, porque se eu criar uma coluna inicialmente, então
spool &ColName
Eu recebo um resultado, eu só não consigo alterar dinamicamente isso & colname
Obrigado pela ajuda.