sql >> データベース >  >> RDS >> Oracle

oraclesqlスクリプトスプールファイルの作成方法

    これにより、匿名ブロックからの出力がoutput_<YYYYMMDD>.txtというファイルにスプールされます。 ローカルPCのルートにありますC:<YYYYMMDD>のドライブ 現在の日付です:

    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
    

    お役に立てば幸いです...

    編集:

    カーソルの反復ごとに値を出力するコメントの後(この例では各値は同じになると思いますが、私が行っていることの要点を理解する必要があります):

    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. SQLで行に番号を付ける方法

    2. MariaDB CURRENT_ROLE()の説明

    3. MySQLのTIMEDIFF()とSUBTIME():違いは何ですか?

    4. MySQL ISNULL()の説明