Oracle SQL Developer/Toad/PLSQL Developerで実行した場合と同じ形式のSQL問合せ結果をシェル・スクリプトから取得する方法

Oracle SQL Developer/Toad/PLSQL Developerで実行した場合と同じ形式のSQL問合せ結果をシェル・スクリプトから取得する方法

シェルスクリプトは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

おすすめ記事