• ベストアンサー

SQL文の長さ

お世話になります。 SQL文の長さには限界があるのでしょうか? 現在、オラクル付属のSQL PlusにてSQL文を流したところ、途中で止まってしまいます。 部分的に流しますと問題なく通ります。 環境はoracle9iです。 なにかわかりましたらよろしくお願い致します。

  • Oracle
  • 回答数2
  • ありがとう数4

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

  • ベストアンサー
noname#10047
noname#10047
回答No.1

SQL Plus でSQLを流す時に、コピペしてませんか? もしそうなら、SQLを保存して、「ファイルを開く」で流したら上手くいくかもしれません。

zizi_seek
質問者

お礼

回答有り難うございます。 ファイルに保存しまして実行したところ問題なく 動作しました。 またなにかあれば宜しくお願い致します。

その他の回答 (1)

  • yuji
  • ベストアンサー率37% (64/169)
回答No.2

SQL*Plusにコピー&ペーストしようとすると、あまり長いSQLは途中で切られていました。(何文字で切られてしまうのか、正確な値はマニュアルを見てください。) SQL*Worksheetだと、結構長いSQLをコピー&ペーストで流しても大丈夫だったはず。試してみてください。

zizi_seek
質問者

お礼

回答有り難うございます。 SQL*Worksheetだとコピー&ペーストでもうまく動きました。 普段、SQL Plusを使用しているのですが今後こちらの方も使用していきたいと思います。 またなにかありましたら宜しくお願い致します。

関連するQ&A

  • こんなことできるSQL文はありますでしょうか?

    お世話になります。 oracle9iとPostgreSQL7.3のいずれかで 実現したいのですが。 こんな並びのデータを no | resno | title ----+-------+------ 1 | 1 | あ 2 | 1 | い 3 | 1 | う 4 | 4 | え 5 | 1 | お 6 | 4 | か 7 | 7 | き 8 | 1 | く 9 | 9 | け こんな風に no | resno | title ----+-------+------ 9 | 9 | け 7 | 7 | き 8 | 1 | く 5 | 1 | お 3 | 1 | う 2 | 1 | い 1 | 1 | あ 6 | 4 | か 4 | 4 | え SQL文一発で並び替えることは できますでしょうか? resnoのグループごとをnoの降順で 表示したいのですが、、、 可能なのか不可能なのかもわかりません。 可能であればSQL文をご教授いただければ 幸甚です。 よろしくお願いします。

  • oracle8i SQLリファレンス探しています。

    oracle8i SQLリファレンス探しています。 oracle8i workgroup serverを入れております。 oracle documentationなども見ましたが、マニュアルを探せずにいます。 どなたかoracle8i SQLリファレンスのある場所をご存知の方いらっしゃれば、教えて頂きたく宜しくお願い致します。

  • SQL変換ツールについて

    このカテゴリに書いていいのかわからないですけどSQLについて教えてください。 現在、データベースをアクセスからOracleに変更する移行作業を進めています。 その作業の中で、アクセス特有のSQL文をOracle用に変更してSQL文をDBに投げる処理 をしているのですが、SQLがそれほど詳しくないのでアクセスのSQLをOracleなど用の 一般的なSQLに変換するツール(フリー)等はないでしょうか。 SQLの違いについて詳しく解説しているHPのアドレスのみでもかまいませんので 宜しくお願い致します。

  • SQL Plus での処理が重い

    お世話になります。 オラクル初心者です。よろしくお願い致します。 SQL Plusですが、オラクルをインストール直後は普通の速度だったのですが、 その日の内に急激に重くなりました。再起動を何度か行うとたまにですが、 通常の速度になります。 select文でcountするだけでも数分かかってしまいます。(通常時だと数秒です) なにが原因なのかアドバイスを頂ければと思います。 環境 oracle9.0.1.0.0

  • PL/SQLで実行したSQLのログの取得について

    ASP(ActiveServerPage)より、PL/SQLのFunctionを実行し、Oracleの複数のTABLEを更新しようとしています。 ASPから実行する際には、引数を渡し、その引数をSQL実行の条件としていますが、実際に実行されたSQL文のログを取得したいのですが、どうしたらよいでしょうか? 何か良い方法をお教えいただけますよう、よろしくお願いいたします。 [実行環境] DB:Oracle8i

  • sql plusのダウンロードとインストール

    会社でOracleのデータベースを使用しているので、自宅で勉強しようと思いネットで検索したところ、制限はつくものの無料で使用することができる Oracle 10g Express Editionというものを発見し、早速インストールしてみました。 しかし、会社の研修ではsql plusというもので、操作を行っていたのですがこのOracle 10g Express Editionにはsql plusが入っていませんでした もしかしてこのOracle 10g Express Editionではsql plusは使用することができないのでしょうか? 参考書として、現場で使えるSQLという本に、Oracleのインストール方法とsql plusの使用方法は書いてあるのですが この本でインストールしているものはoracle database 10g release 2という30日間のみ使用可能なトライアル版であり 今回私がインストールしたOracle 10g Express Editionの説明ではありません。 この本にはoracle database 10g release 2をインストールすると スタートメニュー→プログラム→oracle -oraclient 10g_home1→アプリケーション開発→sql plusとう順番でsql plus起動させることができますが、私のPCにはスタートメニューにsql plusはありませんでした。 どなたかOracle 10g Express Editionでsql plusを使用する方法を知っているかたはいないでしょうか? 長文かつわかりにく文章で申し訳ございませんが教えていただけると幸いです。

  • batファイルからsql文実行

    クライアントOS:WIN2000 Oracle:9i(サーバ(UNIX)上にあります) 現在、クライアントからbatを起動し、SQL文を投げ、結果を取得したいと思っております。 (SQL文は単純にTBLをカウントしているだけです) ・batの中身 sqlplus %UID%/%PASS%@%SID% @test.sql > output 結果は取得出来るのですが、余分な情報も結果に出力されてしまいます。結果のみを出力させるにはどうすればよろしいでしょうか? ・余分な情報 Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.4.0 - Production に接続されました。

  • 【SQL】SELECT文の無限ループ時の対応について

    先日、副問い合わせを用いたSELECT文で特定の属性を表示しようとしたところ、同じ参照結果が表示され続けるという現象がおきてしまいました。 SELECT文の結果が表示され続け、コマンドが入力できなかったため、その時はSQL*Plusを強制終了してセッションを切ったのですが、 SELECT文の表示を途中で強制終了させるようなことは可能でしょうか? DB等の環境は以下のようです。 DB:Oracle10g release2 DBクライアント:SQL*Plus

  • 動的SQLの処理件数

    PL/SQL中でSQL文を文字列に入れて、動的SQLを実行するんですが、その後にSQL%ROWCOUNTで処理件数ってとることってできますか? 自分のソースが問題なのか、動的SQLに原因があるのか悩んでいます。環境はOracle8iです。

  • MERGE文について

    以下のようなSQL文を作成し、Oracle10gで実行したところ、正常に実行されていたのですが、同一のSQL文をOracle9iで実行したところ、 ORA-00905: キーワードがありません。 とエラーがでてしまいました。 merge文はOracle9iから追加された?ものだったと記憶しているですが、思い違いでしょうか? それともOracle9i、Oracle10gで何か違いがあるのでしょうか? Oracleのバージョンはそれぞれ以下の通りです。 Oracle10g:10.1.0.2.0 Oracle9i:9.0.1.1.1 よろしくお願い致します。 <やりたいこと> A表のa列とb列が、B表のa列とb列と一致したものレコードのみ、B表のc列の内容にA表のc列をアップデートする。(インサートはしない) merge into 表A A using 表B B on (A.a = B.a and A.b = B.b) when matched then update set A.c = B.c /