ORACLE Jak używać szpuli z dynamiczną lokalizacją szpuli

Ok, więc jestem kompletnym nowicjuszem z wyrocznią. Teraz to jest na uboczu;

Myślę, że możesz zrozumieć, co próbuję zrobić poniżej. Dla każdej znalezionej procedury przechowywanej wyślij DDL do nazwy pliku z jego nazwą.

Problem polega na tym, że nie mogę dowiedzieć się, jak uzyskać cel buforowania, aby odebrał wartość FileName ustawianą przez kursor.

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; 

Jakieś pomysły co do tego, gdzie się mylę? a jeśli ktoś ma taki przykład, bardzo bym to docenił.

Czuję, że muszę tańczyć wokół niego, ponieważ wtedy najpierw utworzę kolumnę

spool &ColName

Otrzymuję wynik, po prostu nie mogę zmienić dynmicznie tego & colname

Dzięki za pomoc.

questionAnswers(3)

yourAnswerToTheQuestion