Export specified table to a CSV file
gen_tab2csv.sql:
set pagesize 0
set verify off
set feedback off
set linesize 130
accept owner prompt 'Enter table owner => '
accept tblname prompt 'Enter table name => '
spool csv_&&owner..&&tblname..sql
select 'select ' from sys.dual;
select decode(column_id, 1, column_name, '||'', ''||'||column_name)
from sys.dba_tab_columns
where table_name = upper('&&tblname')
and owner = upper('&&owner')
order by column_id;
select 'from &&owner..&&tblname;'
from sys.dual;
spool off
undefine owner
undefine tblname
exit;
NOTE:
- 需要輸入要導出的 OWNER 與 TABLE 名稱
- 執行完後,會自動建立 csv_${OWNER}.${TABLE}.sql 的 SQL
csv_${OWNER}.{TABLE}.sql:
set heading off set feedback off set pagesize 0 select ... exit;
NOTE:
在前一個 SQL 建立出來的 csv_XXXX.sql 的原始內容,在上方加上幾個 set 指令,以及在最下方加上 exit;