web-dev-qa-db-ja.com

列が折り返されないようにOracleクエリをフォーマットするにはどうすればよいですか?

私はこれを試しましたが、うまくいきません:

col * format a20000

本当にすべての列を具体的にリストする必要がありますか?それはひどい痛みです。

28
someguy

気にしないで、それを理解しました:

set wrap off
set linesize 3000 -- (or to a sufficiently large value to hold your results page)

私が見つけたもの:

show all

そして、関連すると思われるいくつかのオプションを探しています。

39
someguy

「ダンプ」と呼ばれる一般的なクエリを使用します(理由はわかりません)。

SET NEWPAGE NONE
SET PAGESIZE 0
SET SPACE 0
SET LINESIZE 16000
SET ECHO OFF
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING OFF
SET TERMOUT OFF
SET TRIMOUT ON
SET TRIMSPOOL ON
SET COLSEP |

spool &1..txt

@@&1

spool off
exit

次に、実行したい実際のSQLスクリプトを引数として渡し、SQL * Plusを呼び出します。

sqlplus -S user/password@database @dump.sql my_real_query.sql

結果はファイルに書き込まれます

my_real_query.sql.txt

25
Patrick Cuff
set linesize 3000

set wrap off

set termout off

set pagesize 0 embedded on

set trimspool on

上記のすべての値を試してください。

0
Aziz Zoaib
set WRAP OFF
set PAGESIZE 0

これらの設定を使用してみてください。

0
Camilo Peña