2

テーブルの内容を出力するために sqlplus を使用しています:

select * from my_table;

出力は次のようになります。

ID
-------------
FIELD1
----------------
FIELD2
----------------
someid
field 1 content
field 2 content

ページの書式設定オプションの多くの組み合わせを試しました。headpagestermoutechofeedおよびを設定して、表の出力をフォーマットできますlinesize

しかし、次のように (キー、値) 形式で値を出力したいと思います。

ID = someid
FIELD1 = field 1 content
FIELD2 = field 2 content

1 行に 1 列ある限り、区切り記号とフォーマットは重要ではありません。

sqlplus のみを使用することは可能ですか? これをスクリプト化することは避けたいと思います。この特定のマシン (何もインストールできないアプライアンス) には、bash、perl、および Python 2.4 しかありません。

4

1 に答える 1

4

この形式を取得する SQLPlus 設定については知りませんが、力ずくで行うことができます。このようなものが動作するはずです:

SELECT
  'ID = ' || id || CHR(10) ||
  'FIELD1 = ' || field1 || CHR(10) ||
  'FIELD2 = ' || field2
FROM my_table

補遺OPは、SQLPlusCHR(10)で値を作成できるかどうかを尋ねました。私は最初は「まさか」と思っていましたが、タブに設定する方法に関するこのStackOverflowの回答COLSEPに出くわし、それを行うように変更しました。それがどのように/なぜ機能するのかよくわかりませんが、機能します:COLSEPCHR(10)

col NEWLINE# new_value NEWLINE NOPRINT
select chr(10) NEWLINE# from dual;
set colsep "&NEWLINE"
于 2013-07-19T15:00:46.650 に答える