sql >> Databasteknik >  >> RDS >> Oracle

Hur man skapar en oracle sql script spool fil

Detta kommer att spoola utdata från det anonyma blocket till en fil som heter output_<ÅÅÅÅMMDD>.txt finns i roten på den lokala PC:n C:-enhet där <ÅÅÅÅMMDD> är det aktuella datumet:

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

Hoppas det hjälper...

EDIT:

Efter din kommentar för att mata ut ett värde för varje iteration av en markör (jag inser att varje värde kommer att vara detsamma i det här exemplet, men du bör få koll på vad jag gör):

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; 


  1. Är det möjligt att välja sql-serverdata med kolumnordningsposition

  2. Ändra språket för den aktuella sessionen i SQL Server

  3. Så här fixar du "Konfigurationsalternativet 'Agent XPs' existerar inte" i SQL Server (T-SQL)

  4. postgresql migrerar JSON till JSONB