シェルスクリプトはSQLクエリを使用します。
#/bin/ksh
var=$(sqlplus -s <user>/<password>@DB <<EOF
set heading on
set trimspool off
set linesize 200
set feedback off
spool out.txt;
select col_a, col_b, col_c from <table>;
spool off;
exit;
EOF)
echo "$var" > out.txt
exit 0
次に、out.txtファイルから次の形式で出力を取得します。 ->
col_a
-------
col_b
-------
col_c
-------
1
abct
23
col_a
-------
col_b
-------
col_c
-------
2
desf
35
......
CSVファイルのような出力が欲しい - >
col_a col_b col_c
1 abct 23
2 desf 35
.... .... ....
上記の形式を取得するのに役立ちますか?または、シェルスクリプトでSQLクエリ結果セットをHTMLに変換するにはどうすればよいですか? SQL Developer / Toad / PLSQL Developerで実行したときにSQLクエリで得られたのと同じ結果を得たいと思います。
答え1
htmlに出力するには、次のように行を挿入します。
SET MARKUP HTML
したがって、スクリプトは次のようになります
#/bin/ksh
var=$(sqlplus -s <user>/<password>@DB <<EOF
set heading on
set trimspool off
set linesize 200
set feedback off
SET MARKUP HTML ON
spool out.html;
select col_a, col_b, col_c from <table>;
spool off;
exit;
EOF)
echo "$var" > out.txt
exit 0