Trying to export to a text file using PL/SQL

From: <sajrizvi80_at_gmail.com>
Date: Thu, 11 Dec 2008 06:20:58 -0800 (PST)
Message-ID: <eff08dc8-21ca-46ce-8250-95fad1344e61@d36g2000prf.googlegroups.com>


Hi I have the following query and I need the output to be in the form of an attachment (text or csv) instead of being in the body of the email. I am relatively new to PL/SQL and hitting a wall trying to get this done. I really appreciate your help in looking into this. Thanks

CREATE OR REPLACE PROCEDURE SP_TEST as

--Declare all the variables

v_startdate     DATE;
v_enddate       DATE;
k               NUMBER;


TYPE quest_type IS RECORD (

    qcount NUMBER,
    qtxt VARCHAR2(1000)
);

TYPE quest_tab IS TABLE OF quest_type
INDEX BY BINARY_INTEGER; t_quest quest_tab;



CURSOR cur_1 IS

SELECT qtxt,

        qcount
FROM
(

SELECT /*+ parallel(A,4)*/

        SUM(A.QCNT) AS qcount,
        LOWER(TRIM(A.QTEXT)) AS qtxt

FROM Xtable A
WHERE A.DT >= v_startdate
AND A.DT < v_enddate + 1
GROUP BY LOWER(TRIM(A.XX))
ORDER BY SUM(A.XXXX) DESC
)
WHERE ROWNUM < 50;

BEGIN     FOR i in 1..7 LOOP

        IF TRIM(UPPER(TO_CHAR(NEW_TIME(SYSDATE, 'PST','GMT')- i ,'DAY'))) LIKE 'MONDAY%' THEN

            v_enddate := TRUNC(NEW_TIME(SYSDATE, 'PST','GMT'))-i;
            v_startdate:= v_enddate - 6;
        END IF;

    END LOOP;     ajutl.smtp_file.clear_buffer;
    ajutl.smtp_file.add_to('DDD_at_gmail.com');

    ajutl.smtp_file.set_subject('TITLE ' || v_startdate || ' - ' || v_enddate);

    k := 0;

    ajutl.smtp_file.add_text('Num'||CHR(9)||'Query Text');

    FOR i IN cur_1 LOOP

        k := k + 1;

        t_quest(k).qcount   := i.qcount;
        t_quest(k).qtxt     := i.qtxt;

        ajutl.smtp_file.add_text(t_quest(k).qcount||CHR(9)||t_quest

(k).qtxt);

    END LOOP;     ajutl.smtp_file.send;

    COMMIT; END; Received on Thu Dec 11 2008 - 08:20:58 CST

Original text of this message