• ベストアンサー

ビュー情報(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等で出力書式を変えてみては。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • USER_VIEWSで

    いつもお世話になっています。 早速ですが質問です。 SQL*PLUSでUSER_VIEWSをselectした際、項目:TEXTの全ての内容が見たいのですが、 改行が含まれているせいか、3行目以降が表示されません。 以前、どこかのサイト(このサイトだったかもしれませんが、過去の中からさがせませんでした)で、 指定の仕方をみたようなきがするのですが・・・・ 誰か知っている方がいたら教えて下さい。 よろしくお願いします。

  • ビューで引数を使いたい

    4つのテーブルのいずれかをアクセスしますが、 select文はひとつでwhereでテーブルを指定したいので、  例:select * from ビュー where table_no=1 とかで、table_noの値でアクセスするビューは 作れますか? ※この例の場合、select * from table1が実行したい。 4つのテーブルは全て同じ構造で、 データが違うのみです。

  • Viewを作ると遅くなる?

    Viewを作成してそのViewに対してWhere句で条件を付けて検索する場合と、 Viewを作成せずに直接Where句で条件を付けて検索する場合と、どちらが パフォーマンスがよいでしょうか? (1)Viewを使わない例 SELECT 伝票番号,伝票日付,金額 FROM 伝票 WHERE 伝票番号=1 (2)Viewを使う例  あらかじめViewを作成しておく CREATE VIEW TEST_VIEW AS SELECT 伝票番号,伝票日付,金額 FROM 伝票 以下のSQL文を発行する SELECT * FROM TEST_VIEW WHERE 伝票番号=1 このような質問をした訳は、元となるテーブルの全件を対象とした Viewを作った場合、毎回テーブルフルスキャンを行ってViewを作成 したあとにWHERE句の絞り込みを行うのかどうかが気になったから です。

  • VIEWしか読み取れないユーザの作成方法について

    SQL Server 2008R2/2012でのVIEWのアクセス権限の付与について パケージのシステムを構築しており、ユーザにVIEWの読み取り権限だけを公開したいと考えています。 ユーザは、SQL Server Management StudioでそのVIEWに対してSELECTだけできるようにしたいのですが、やってみるとVIEWに対しての権限の他に元となるテーブルのアクセス権限も必要となり、見せたくないテーブルとそのテーブルの列が見えてしまいます。 なんとか、DBへの特定のログインユーザだけVIEWに対して読み取り(SELECT)ができようなユーザが作れないでしょうか? アドバイスをお願いします。

  • デザインビューで、連結式 を表示できません について

    毎度お世話になっております。 XP、ACCESS2003を使用しております。 クエリにSQL文を記入し実行後、 データシートビューでは結果が表示されるのですが、 デザインビューにすると デザインビューで、連結式 t1.CODE = t2.CODE を表示できません。 とメッセージがでます。 SQL文は以下の通りです。 SELECT t1.CODE FROM テーブル1 as t1 LEFT JOIN (SELECT テーブル2.CODE from テーブル2 ) as t2 ON t1.CODE = t2.CODE また、実行後にSQL文を編集しようとすると、 文字が途中で切れるような感じになります。 (fromのmを消すとoの半分も消えてしまいます。) このような状態は初めてです。 検索してもよくわかりませんでした。 よろしくお願いします。

  • MySQLのCREATE VIEWがうまく動作しません。

    SQL初心者です。今回仕事で使う事になり、Win98に MySQL Ver3.23.51をインストールしたのですが、 CREATE VIEW文がうまく動作しません。 例えば MAIN と言うテーブルが存在する時に MySQLプロンプト上で SELECT * FROM MAIN; とやるとちゃんと動作して表示してくれるのですが、 これをTEMPと言うビューを作成したい場合に CREATE VIEW TEMP AS SELECT * FROM MAIN; とやると ERROR 1064: You have an error in your SQL syntax near \'VIEW TEMP AS SELECT * FROM MAIN\' at line 1 と出て来てしまいます。文法的には間違ってないはずなのですが、何がいけないのでしょうか?MySQLはCREATE VIEW文をサポートしていないのでしょうか? 周りに詳しい人間がいないので、原因がわからなくて つまづいています。どうかよろしくお願いします.

  • SQLServerでViewの参照・・・

    SQLServer同士のサーバで、別のサーバーの特定のViewを参照する事ができますか? <例> Aサーバーで、BサーバーのViewを参照 Select * From [B].[aaa].dbo.v_xxxx 上記のようなことがしたいのです。 データの内容上、他のテーブル・ビューは参照させたくありません。 可能な場合、お手数ですがその方法もご教授頂けるととても助かります。 宜しくお願い致します。

  • 市区町村別の件数をカウントするビュー

    市区町村別の件数をカウントするビューを作りたいのですが、 上手くいきません。 まず、メインの住所が登録されているテーブル(user_table)には 住所とは別に、市区町村名(city)が登録されています。 次にSQL文で create view vUser_table as select city, (select count(*) from user_table where city=x.city) as count from user_table as x と打って、ビューを作成したのですが、 世田谷区 36 中野区 12 足立区 24 世田谷区 36 ・・・・ のように、同じ市区町村が何度もでてきてしまいます。 (件数は同じ) どうすればよいのでしょうか? ご教授ください。

    • ベストアンサー
    • MySQL
  • Oracle 参照用ユーザー作成

    Oracle 9i で新規で参照専用のユーザーを作成しています。 が、うまく作成できなかったため質問したいと思います。 現在、下記のようなデータベース、ユーザー名となっています。 データベース :A ユーザー :A これに対して、以下のユーザーを作成しました。 ユーザー :B ロール :CONNECT システム権限 :select any table execute any procedure この状態で、データベースAに対してユーザーBへ接続はできますが、 SELECT文を実行しても、”ORA-00942:表またはビューが存在しません”メッセージが表示されます。 そこで、BのロールをDBAにしたり、オブジェクト権限に、データベースAの表に対して 使用可能な権限としてSELECTを指定したりしたのですが、やはり同様のメッセージが表示されました。 データベースAの表を見れていない状況だと思うのですが、どのように、Aの表を参照するよう 設定してやるのかがわかりません。 何が不足しているのかご教授下さい。 よろしくお願い致します。

  • viewの性能

    あるテーブルがあって、Viewがそのままテーブルを参照してます。 そのViewをそのまま参照しているViewが階層的にあるとします。 テーブルA ← View1 ← View2 ← View3 [SQL的イメージは] ・creat table テーブルA (・・・) ・create view1 as select * from テーブルA ・create view2 as select * from view1 ・create view3 as select * from view2 質問したい事として、 View1 を参照するのとView3を参照するのは、View1を参照するのが 階層化が無い分、速いのでしょうか? それともそのまま参照している場合、あまり速さは変わらないのでしょうか?

Brother_MFC_J6710CDWのお困りごと
このQ&Aのポイント
  • wifiを変えたらBrother_MFC_J6710CDWが繋がらなくなりました。
  • お使いの環境はMacOSで、無線LANで接続されています。
  • 関連するソフト・アプリはsoftbankairで、電話回線の種類はISDN回線です。
回答を見る