将sqlplus查询结果导出到文件

对于一些项目来说,不能使用plsqldev直接连上数据库,而只能通过telnetssh等方式登上终端,再在终端上运行sqlplus来查询。有时查询出来的数据太多,一个屏幕装不下,或者需要对查出来的数据作进一步整理、统计,这时就需要把查询结果导出成一个文件。

使用sqlplusspool功能也能做到,但比较复杂。经过我几次总结,并结合网上的实例,整理出一个方便的方法,帖上来与大家分享一下。

1.新建一个expqry.shshell,写下如下语句:

#!/bin/bash

sqlplus -s user/pass@db << EOFa

set pagesize 0 linesize 2000 feedback off tab off colsep |

@somesql.sql

disconnect;

quit;

EOFa

 

配置expqry.sh,设置数据库的用户名user,密码pass,数据库db

本例中将字段分隔符设为“|”,如果不喜欢,想用默认的TAB的话,可以将第三行改为

set pagesize 0 linesize 2000 feedback off tab off

2.新建一个sql文件somesql.sql,写上一些sql语句;

3.expqry.shsomesql.sql放到同一目录下;

4.执行expqry.sh > outfile,就可将查询结果导出到outfile了。

可以对我的文档直接进行修改。附件如下:

你可能感兴趣的:(sql,ssh,bash)