CREATE OR REPLACE PROCEDURE csv ( col_1 IN VARCHAR2 DEFAULT NULL ,col_2 IN VARCHAR2 DEFAULT NULL ) IS wk_data VARCHAR2(1024); wk_file_name VARCHAR2(1024); stmt_sql VARCHAR2(2048) DEFAULT NULL; type meisai_type IS REF CURSOR; meisai_cur meisai_type; db_col_1 VARCHAR2(10); db_col_2 VARCHAR2(10); BEGIN wk_file_name := 'TEST.CSV'; --[ CSV FILE OUT] owa_util.mime_header('application/cvs', FALSE); HTP.P('Content-Disposition: attachment; filename='||wk_file_name); owa_util.http_header_close; stmt_sql := ' SELECT '||col_1||','||col_2||' '; stmt_sql := stmt_sql || ' FROM SCOTT.EMP ';
OPEN meisai_cur FOR stmt_sql; LOOP FETCH meisai_cur INTO db_col_1 ,db_col_2; EXIT WHEN meisai_cur%NOTFOUND; wk_data := db_col_1 ||','|| db_col_2 ; HTP.PRN(wk_data); HTP.PRN(chr(13) || chr(10)); END LOOP; CLOSE meisai_cur; END csv; ------------------------ 用参数控制。关注下,好像有点困难
col_1 IN VARCHAR2 DEFAULT NULL
,col_2 IN VARCHAR2 DEFAULT NULL
)
IS
wk_data VARCHAR2(1024);
wk_file_name VARCHAR2(1024);
stmt_sql VARCHAR2(2048) DEFAULT NULL;
type meisai_type IS REF CURSOR;
meisai_cur meisai_type;
db_col_1 VARCHAR2(10);
db_col_2 VARCHAR2(10);
BEGIN
wk_file_name := 'TEST.CSV';
--[ CSV FILE OUT]
owa_util.mime_header('application/cvs', FALSE);
HTP.P('Content-Disposition: attachment; filename='||wk_file_name);
owa_util.http_header_close; stmt_sql := ' SELECT '||col_1||','||col_2||' ';
stmt_sql := stmt_sql || ' FROM SCOTT.EMP ';
OPEN meisai_cur FOR stmt_sql;
LOOP
FETCH meisai_cur
INTO db_col_1
,db_col_2;
EXIT WHEN meisai_cur%NOTFOUND;
wk_data := db_col_1 ||','||
db_col_2 ;
HTP.PRN(wk_data);
HTP.PRN(chr(13) || chr(10));
END LOOP;
CLOSE meisai_cur;
END csv;
------------------------
用参数控制。关注下,好像有点困难