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

관련 정보