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

Comment créer un fichier spool de script oracle sql

Cela va spouler la sortie du bloc anonyme dans un fichier appelé output_<YYYYMMDD>.txt situé à la racine du lecteur C:du PC local où <YYYYMMDD> est la date actuelle :

SET SERVEROUTPUT ON FORMAT WRAPPED
SET VERIFY OFF

SET FEEDBACK OFF
SET TERMOUT OFF

column date_column new_value today_var
select to_char(sysdate, 'yyyymmdd') date_column
  from dual
/
DBMS_OUTPUT.ENABLE(1000000);

SPOOL C:\output_&today_var..txt

DECLARE
   ab varchar2(10) := 'Raj';
   cd varchar2(10);
   a  number := 10;
   c  number;
   d  number; 
BEGIN
   c := a+10;
   --
   SELECT ab, c 
     INTO cd, d 
     FROM dual;
   --
   DBMS_OUTPUT.put_line('cd: '||cd);
   DBMS_OUTPUT.put_line('d: '||d);
END; 

SPOOL OFF

SET TERMOUT ON
SET FEEDBACK ON
SET VERIFY ON

PROMPT
PROMPT Done, please see file C:\output_&today_var..txt
PROMPT

J'espère que ça aide...

MODIFIER :

Après votre commentaire pour générer une valeur pour chaque itération d'un curseur (je réalise que chaque valeur sera la même dans cet exemple, mais vous devriez comprendre l'essentiel de ce que je fais) :

BEGIN
   c := a+10;
   --
   FOR i IN 1 .. 10
   LOOP
      c := a+10;
      -- Output the value of C
      DBMS_OUTPUT.put_line('c: '||c);
   END LOOP;
   --
END;