spool+sql拼接實現導出結果集爲csv格式文件

從oracle導出csv格式文件(利用plsql developer工具可以很方便的導出結果集爲csv文件,但是在沒有plsql工具時,可以利用以下的方法來實現導出查詢結果爲csv格式文件。)

一,
oracle用戶登陸linux系統,編輯導出文件腳本 csv_spool.sql
set colsep ,
set feedback off
set heading off
set trimout on
spool /home/oracle/dept.csv
select '"' || DEPTNO || '","' || DNAME || '","' || LOC || '"' from scott.dept;
spool off
exit

spool /home/oracle/dept.csv --這裏指定導出csv文件的路徑和文件名稱
select '"' || DEPTNO || '","' || DNAME || '","' || LOC || '"' from scott.dept;
--這裏指定導出表名和字段名

二,
表名格式爲username.table_name,使用以下語句,並修改對應表名和用戶名:
(執行此語句需要擁有dba權限)

SELECT 'select '||wm_concat(cols)||' from '|| 'scott.dept' ||';' FROM (
SELECT '"'||column_name||'"' AS cols from dba_col_comments WHERE table_name='DEPT' AND owner ='SCOTT');

修改語句後,在sqlplus中執行,並將結果集複製到.sql中,替換原文件中的select語句,保存退出。
三,
執行>
sqlplus -s 用戶名/密碼@數據庫名 @/路徑/csv_spool.sql
(這裏的用戶需要擁有訪問sql腳本中指定表的select權限)

四,查看/home/oracle路徑下是否生成dept.csv文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章