使用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]