シェル スクリプトを使用してクエリを「スプール」しています。おもちゃバージョンはこちら:
#!/bin/sh
sqlplus -s userid/pass@SID << EOF
set echo off
set term off
set trims on
set pages 0
set feedback off
set linesize 1000
set colsep "|"
SPOOL $2
SELECT 'HEADER1|HEADER2|HEADER3' FROM DUAL
UNION ALL
SELECT
COLUMN1||'|'||
COLUMN2||'|'||
COLUMN3
FROM $1;
SPOOL OFF
EXIT 0;
EOF
を使用して提出する
nohup sh sqlquery.sh intable outtable > log &
クエリは正常に実行され、希望どおりにフォーマットされていますが、クエリによって返された行はスプール ファイルとログの両方に書き込まれます...「set echo off」でこれが処理されると思っていましたが、明らかに何かが足りない。
何か案は?