• ベストアンサー

ビュー情報(user_views)の参照について

select view_name, text from user_views; で、text部分のSELECT文が途中で切れて出力されてしまうのですが、全てのSELECT文が表示されるようにするにはどのようにすれば宜しいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mototaker
  • ベストアンサー率100% (7/7)
回答No.3

お答えします たしかに、Viewのソースを確認するのは、とってもムズイです。 dba_sourceから、Procedureなどのソースは簡単に出せるのに、 どうして、Viewだけは、ソースを簡単に出せないのでしょうね・・・ ◆ 実際にやってみます Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production PL/SQL Release 11.1.0.7.0 - Production CORE 11.1.0.7.0 Production TNS for Linux: Version 11.1.0.7.0 - Production NLSRTL Version 11.1.0.7.0 - Production SQL> select view_name, text from user_views 2 where rownum = 1; VIEW_NAME ------------------------------ TEXT -------------------------------------------------------------------------------- AQ$DEF$_AQCALL SELECT q_name QUEUE, msgid MSG_ID, corrid CORR_ID, priority MSG_PRIORITY, decode ◆ 確実に切れてますね。 LONG型である、TEXTをたくさん表示しまます set long 20000 を行います。 SQL> set long 20000 で、もう一度同じSelect文を実行します SQL> / VIEW_NAME ------------------------------ TEXT -------------------------------------------------------------------------------- AQ$DEF$_AQCALL SELECT q_name QUEUE, msgid MSG_ID, corrid CORR_ID, priority MSG_PRIORITY, decode (state, 0, 'READY', 1, 'WAIT', 2, 'PROCESSED', 3, 'EXPIRED', 10, 'BUFFERED_EXPIRED') MSG_STATE, cast(FROM_TZ (delay, '-08:00') at time zone sessiontimezone as date) DELAY, delay DELAY_TIMES TAMP, expiration, cast(FROM_TZ(enq_time, '-08:00') at time zone sessiontimezone as date) ENQ_TIME, cast(FROM_TZ(e nq_time, '-08:00') at time zone sessiontimezone as timestamp) ENQ_TIMESTAMP, enq_uid ENQ_USER_ID, enq_tid ENQ_TXN_ID, cast(F ROM_TZ(deq_time, '-08:00') at time zone sessiontimezone as date) DEQ_TIME, cast(FROM_TZ(d eq_time, '-08:00') at time zone sessiontimezone as timestamp) DEQ_TIMESTAMP, deq_uid DEQ_USER_ID, deq_tid DEQ_TXN_ID, retry_ count, decode (state, 0, exception_qschema, 1, exception_qschema, 2, exception_qschema, NULL) EXCEPTION_QUEUE_OWNER, decode (state, 0 , exception_queue, 1, exception_queue, 2, exception_queue, NULL) EXCEPTION_QUEUE, user_data, decode (st ate, 3, decode (deq_tid, 'INVALID_TRANSACTION', NULL, exception_queue), NULL) ORIGINAL_QUEUE_NAME, decode (state, 3, decode (deq_tid, 'INVALID_TRANSACTION', NULL, exception_qschema), NULL) ORIGINAL_QUEUE_OWNER, decode(state, 3, decode(deq_time, NULL, decode(deq_tid, NULL, decode (expiration , NULL , 'MAX_RETRY_EXCEEDED', 'TIME_EXPIRATION'), 'INVALID_TRANSACTION', NULL, 'MAX_RETRY_EXCEEDED'), NULL), NULL) EXPIRATION_REASON FROM "DEF$_AQCALL" WHERE state ! = 7 AND state != 9 WITH READ ONLY でました。 Your DBA MOTO:TAKER

MixNuts
質問者

お礼

ご連絡いただいた方法で出来ました。 ありがとうございます。

その他の回答 (2)

  • pon2pon2
  • ベストアンサー率42% (107/250)
回答No.2

LONG型の内容を全て表示させたいのなら、 「set LONG 99999」 を実施するとできるかと。

MixNuts
質問者

お礼

ご連絡いただいた方法で出来ました。 ありがとうございます。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

sqlplus? set linesizeやcolumn format等で出力書式を変えてみては。