• ベストアンサー

oracle sqlplusでは見えて フリーソフトでは見えないテーブル

こんにちは。 テーブルについてですが、 sqlplus を使用するとテーブルが見ることができます。ところが「osqledit」というソフト使用してテーブルを参照するとテーブルを見ることができません。 (dateの型、数値がおかしいというエラーが出力されます。) 参照方法は select * from t_abc といった感じです。 どなたかご存知の方、ご教授いただけないでしょうか? 環境は solaris、oralce8iです。

  • p-g
  • お礼率45% (5/11)

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

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

Oracleのバグじゃなかったかな? date型を含むテーブルを、ワイルドカードでフィールド指定をした場合エラーになるのって。 障害情報見つけられませんでしたが。 SQL*Plusで動くのは、内部的になんかしてるのかな?

p-g
質問者

補足

ご連絡が遅れて申しわけありませんでした。 「 日付時刻/間隔の内部エラーです。」といったエラーが出力されます。oracleにそのようなバグがあるのですか。 明日職場で試してみます。また検索で少し調べてみます。>SQL*Plusで動くのは、内部的になんかしてるのかな?内部的とはどういうことでしょうか?貴重情報ありがとうございました。

関連するQ&A

  • SQLPLUSでセレクト結果の表示方法

    お世話になります。 SQLPLUSでselect * from AAA という風にセレクト結果を出力する場合 AAAテーブルのカラム数が多い場合改行されて出てきますが、 これを改行せずに1レコード1行で表示させられないでしょうか? 何かSQLPLUSのコマンド等をご存知の方いらっしゃったらご教授お願いいたします。

  • sqlplusで日本語入力

    olacleを勉強して5時間の超初心者です。 sqlplusでselect文を入力したいのですが、 日本語が表示できません。 なにか設定があるのでしょうか? 手元にある本をみても何も書いていないのですが。。。 select name from table1 これはいけます! でも select nama as 名前 from table1 とsqlplusで入力できないのです。 「名前」という日本語入力ができないんです。 テキストにselect nama as 名前 from table1 と記入し、コピーペーストしようとしても コピーペーストもできません。 何か設定があるのでしょうか?

  • 数種類のテーブルの呼び出し

    こんにちは。 全く違うフィールドを含む数種類のテーブルを全て呼び出して一覧表示するためにはどういった命令を実行すればよいのでしょうか? selectはsql文の中で一度しか使えないということはわかったのですが・・・ 例えばテーブル1(フィールドはnumber,name)テーブル2(フィールドはdate,time) とした時、出力される結果としては テーブル1 number,name テーブル2 date,time ということです。 select文を2回使えるのであれば、 $sql = "select * from テーブル1 and select * from テーブル2"; という命令でいけると考えたのですが・・・

  • SQLPLUSのGROUP BY句について

    Oracle9iのSQLPLUSにて、GROUP BY句で指定した列以外の列をSELECT文の選択結果に表示させたいだけなのですがうまくいきません。 SELECT 列A,列B,列C FROM テーブル1 A INNER JOIN ( SELECT 列A,COUNT(*) FROM テーブル1 GROUP BY 列A HAVING COUNT(*) >= 2 ) B ON A.列A = B.列A 「"B.列A"が無効識別子です」エラーが発生します。 何卒宜しくお願い致します。

  • インラインビューにおける他テーブルの別名参照ができない

    Oracle9iで開発をしています。 インラインビューを使ったSQLで行き詰ってしまいました。 抽出条件として会社テーブルの設立日が12ヶ月前からシステム日付まで、 その該当テーブルのID = 社員テーブルのIDとなる名称を取り出す。 上記に該当する社員テーブルの種類 = 商品テーブルの種類となる名称を取り出す。 となるようにSQLを考えると、 SELECT T1.NAME, T2.NAME FROM 会社テーブル C, (SELECT * FROM 社員テーブル E WHERE C.ID = E.ID) T1, (SELECT * FROM 商品テーブル A WHERE T1.KIND = A.KIND)T2, WHERE C.DATE BETWEEN add_month(sysdate,-12) AND sysdate のような感じになりまして、実行すると"C"."ID":無効な識別子ですと 表示されました。 インラインビューの中ではC、T1のように外部の別名を参照することは できないのでしょうか? できない場合の対策方法なども教えてください。

  • sqlplusのspoolで空白行出現

    OS:Windows Server 2003 DB:Oracle10g(10.2.0) sqlplusでselect結果をcsvファイルにspoolする際に空白行が出力されて困っています。 以下のsqlを実行した場合、 ----- SET ECHO OFF SET FEEDBACK OFF SET HEADING OFF SET PAGESIZE 0 SET LINESIZE 2000 SET TERMOUT OFF SET TRIMSPOOL ON spool test.csv select '"'||col1||'","'||col2||'","'||col3||'"' from table; spool off ----- 改行を含むカラムを含む行の後に空白行が出力されます。 (2レコード目のcol3は"g"と"h"の間に改行コードがあるデータが格納されているが、何故か2レコード目と3レコード目の間に空白行が出力される) ----- "abc","def","ghi" "abc","def","g hi" "abc","def","ghi" ----- これはsqlplusの仕様でしょうか。 2行目と3行目の間の空白行を削除してspoolする方法はありますでしょうか。 なお、改行を含むカラムの改行を改行以外の文字に置換して出力した場合は、以下のように空白行が出現しません。 ----- "abc","def","ghi" "abc","def","gカイギョウhi" "abc","def","ghi" -----

  • Access_log0テーブルの閲覧方法

    OS:Solaris8 Oracle8.1.7 「Access_log0」テーブルの閲覧はどういう方法でできるのでしょうか? sqlplusに system/manager@XXXX でログインしてもSELECT文では見れないようなのですが… SELECT * FROM ACCESS_LOG0 * 1行でエラーが発生しました。 ORA-00942:表またはビューが存在しません。 私はOracleをカジった程度の知識です。 必要な情報は捕捉致しますので、 皆様よろしくお願いします。

  • Oracleで、DATE型カラムについて

    Oracle9iで、テーブルを作成しました。 各テーブルには、DATE型のカラムがあります。 テーブル内:2004-04-17 01:15:00 と、入っているとき SELECT TO_CHAR(日付,'yyyy/mm/dd hh24:mi') FROM テーブル という風にアクセスしました。 しかし、 あるテーブルでは、 4/04/17 省略形になったり、 はたまた、あるテーブルでは、 2004/04/17 00:00 と時分が0になってしまったり。 なぜ、上のように、フォーマットを指定しているのにもかかわらず、おかしくなってしまうのかわかりません。 わかる方、お教えください。

  • 複数のテーブルからデータを取得したい

    1つのテーブルから重複したデータを取り除いて表示するときに使う 【select distinct カラム名 from テーブル名;】 がありますよね。 それと同じようなことを複数のテーブルをまたいで行いたいのですがうまくいきません。 ちなみに両方のテーブルのカラム名は同じです。 【select distinct カラム名 from テーブル1 union select distinct カラム名 from テーブル2;】 としても重複を取り除いた後にテーブルを結合してるので結果的に両テーブルの重複した値を取り除くことができず。 そこで 【select distinct T1.カラム名, T2.カラム名 from テーブル1 T1. テーブル2 T2;】 としてみたのですが、クエリを実行中のまま反応がないので悩んでます。 ちなみに2つのテーブルのデータはそれぞれ2万件ほどです。 こういう時どういうsql文を組むのが正しいのでしょうか?

    • ベストアンサー
    • MySQL
  • テーブル間の結合

    次のような操作をしたいのですが、 Table1 CD 1 2 3 Table2 ID TT 1 1 1 2--ココ 2 1 2 2--ココ 結果 Table1とTable2を関連づけて CD ID TT 1 1 2 2 2 2 Table2のTTをMAX関数を使っての参照です。 ちなみに次のようなSQL文ではエラーとなりました。 select T1.CD , T2.ID , MAX(T2.TT) from Table1 T1 INNER JOIN Table2 T2 ON(T1.CD = T2.ID) GROUP BY T2.ID アドバイス等がありましたら、宜しくお願いします。