使用spool从Oracle导出大批量数据


使用shell脚本spool,可以直接调用SQL语句,也可以调用SQL文件,如下代码直接调用SQL语句。

inas1@nasapp1:[/***/debug/script/expNasDB]cat exp1.sh
#!/usr/bin/ksh

echo `date`'执行开始'

path=`pwd`
TODAY=`date +%Y%m%d`
OPEN_FILE="1_"$TODAY".txt"
TMP_OPEN_FILE="1_"$TODAY".tmp"

cd $path
sqlplus userDB/userPWD@tns <<!
set echo off;
set feedback off;
set heading off;
set pagesize 0;
set linesize 6000;
set termout off;
set trimout on;
set trimspool on;
SPOOL $TMP_OPEN_FILE;
#@$OPNE_SQL;
select a.accnbr||','||a.imsi||','||a.switchid from TMP_FRESH_VOLTEYUMAI598W_1_150 a where a.accnbr is not null and a.imsi is not null and a.switchid is not null;
SPOOL OFF;
quit
!

sed '1d' "$TMP_OPEN_FILE" | sed '$d' >"$OPEN_FILE"; rm "$TMP_OPEN_FILE"

echo `date`'执行结束'
inas1@nasapp1:[/***/debug/script/expNasDB]

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM