版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/ctypyb2002/article/details/84396911
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
禁止翻页
参考: