sql >> Base de Datos >  >> RDS >> Oracle

Cómo crear un archivo de cola de comandos Oracle SQL

Esto agrupará la salida del bloque anónimo en un archivo llamado output_<YYYYMMDD>.txt ubicado en la raíz de la PC local C:unidad donde <YYYYMMDD> es la fecha actual:

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

Espero que ayude...

EDITAR:

Después de su comentario para generar un valor para cada iteración de un cursor (me doy cuenta de que cada valor será el mismo en este ejemplo, pero debería obtener la esencia de lo que estoy haciendo):

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;