1. 程式人生 > >sqlplus 使用之二 匯出資料

sqlplus 使用之二 匯出資料

os: centos 7.4
db: oracle 18c(18.3)

本篇 blog 介紹下使用 sqlplus 匯出資料。

使用 sqlplus 登入資料庫

$ sqlplus / as sysdba;

SQL*Plus: Release 18.0.0.0.0 - Production on Fri Nov 23 14:07:56 2018
Version 18.3.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.


Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0

SQL> 

匯出資料

$ vi /tmp/abc.sql

select a.OWNER||','||a.OBJECT_NAME||','||a.OBJECT_ID||','||to_char(a.CREATED,'yyyy-mm-dd hh24:mi:ss')||','||a.status
from dba_objects a,
     ( select rownum from dual connect by rownum<3 ) b
where 1=1
;

SQL> set linesize 1000 pagesize 0 echo off termout off trimout on trimspool on feedback off heading off pause off;
SQL> spool /tmp/abc.csv;
SQL> @/tmp/abc.sql
SQL> spool off;

set linesize 1000
每行有多少個字元

set pagesize 0
每頁有多少行,設定為0,表示禁用分頁

set echo off
用start命令執行sql指令碼時,是否顯示指令碼中正在執行的SQL語句

set termout off
使用spool時,設定為off,那麼輸出的內容只會儲存在輸出檔案中,不會顯示在螢幕上,極大提高了spool的速度

set trimout on
去除標準輸出每行的拖尾空格,預設為off

set trimspool on
去除重定向(spool)輸出每行的拖尾空格,預設為off

set feedback off
一律不顯示查詢的行數

set heading off
每頁的上面不顯示列標題,而是以空白行代替

set pause off
禁止翻頁

參考: