Oracle
 sql >> Database >  >> RDS >> Oracle

Come creare un file di spooling di script Oracle sql

Questo spoolerà l'output dal blocco anonimo in un file chiamato output_<YYYYMMDD>.txt situato nella radice del PC locale C:drive dove <YYYYMMDD> è la data corrente:

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

Spero che aiuti...

MODIFICA:

Dopo il tuo commento per generare un valore per ogni iterazione di un cursore (mi rendo conto che ogni valore sarà lo stesso in questo esempio ma dovresti ottenere l'essenza di quello che sto facendo):

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;