sql >> Database >  >> RDS >> Oracle

Een Oracle SQL-scriptspoolbestand maken

Dit zal de uitvoer van het anonieme blok naar een bestand met de naam output_<YYYYMMDD>.txt spoolen bevindt zich in de hoofdmap van de lokale pc C:schijf waar <YYYYMMDD> is de huidige datum:

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

Ik hoop dat het helpt...

BEWERKEN:

Na je opmerking om een ​​waarde uit te voeren voor elke iteratie van een cursor (ik realiseer me dat elke waarde in dit voorbeeld hetzelfde zal zijn, maar je zou de essentie moeten begrijpen van wat ik aan het doen ben):

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. JSON-functies zijn nu standaard ingeschakeld in SQLite

  2. T-SQL XOR-operator

  3. datetime2 vs smalldatetime in SQL Server:wat is het verschil?

  4. SQL Server verbinden met Oracle