oracle10gを使用しています。
sqlplusでいくつかのDDLとDMLを一度にコピーペーストで流しました。一つ一つの処理後にcommit;も入っています。
しかし、最後のDMLで処理がとまってしまい、エラーもでません。内容は以下のようになっています。
insert into tbl_a
(select distinct col1,'2006/01/01'
from tbl_b
where col1 is not null
union
select distinct col2,'2006/01/01'
from tbl_b
where col2 is not null
union
select distinct col3,'2006/01/01'
from tbl_b
where col3 is not null
union
select distinct col4,'2006/01/01'
from tbl_b
where col4 is not null
union
select distinct col5,'2006/01/01'
from tbl_b
where col5 is not null
union
select distinct col6,'2006/01/01'
from tbl_b
where col6 is not null);
COMMIT;
この処理を単独で実行すると、成功します。sqlpulsは、実行コマンドの量に制限などあるのでしょうか?なぜ、このようになるかわかりません。ちなみに、コマンドの全文字数は3990目で、処理が停止するのは、3648文字目です。この3648文字目にあたるのが、上記の
>select distinct col3,'2006/01/01'
の
>select disti
です。
大変急を要ししています。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
改行を省いてもエラーとなる文字数は3648文字目なのでしょうか。
それとも、『>select disti』なのでしょうか。
3648文字なら、文字数オーバーって事ですよね。
『>select disti』なら、Insert句に問題があるという事だと思います。
ただ、今後の事を考えると#1さんのおっしゃるようにストアド化した方が良いと思います。
(Unionで結合しているので、その部分を注意しないといけませんが)
どのテーブルを見れば、ロールバック領域が一杯かは私も知りません。(すみません)
ですが、ロールバックが一杯かそうでないかは、SQL文を少し修正して動かすと分かると思います。
tbl_bテーブルの各項目がNOT NULLの場合に処理対象としていますよね。
各SELECTの結果が一件しか出力されないような条件を追加してはどうでしょう。
そうすると、Insert句全体がおかしいかどうか分かると思います。
がんばってください。
本当に本当に、ありがとうございます。
調べてみましたところ、文字数オーバーでした。オラクル10gからは、文字数制限が3000文字から若干増えているということがわかりました。
いろいろご助言いただき、本当に感謝しております。
ありがとうございました。
No.5
- 回答日時:
Windows のクリップボードにはたくさんコピーできるのに、それを sqlplusw.exe に貼り付けると途中までしか貼り付かないみたいです。
数行ずつに分けて貼り付けるとか…。あと、コマンドプロンプトの sqlplus.exe は、いくらでも貼り付けられるみたいです。No.4
- 回答日時:
@で、そのファイルを読んだらどうかしら?
sqlplusw.exe の代わりに sqlplus.exe を使ってみたらどうかしら?
この回答への補足
>@で、そのファイルを読んだらどうかしら?
ファイルを読むと成功しました。
といううことは、やはり、sqlplusの文字数制限のために、処理が停止したと考えることが妥当ということでしょうか?
No.2
- 回答日時:
見たところ、各テーブルより値を取得して、Insertを行っているのですよね。
もしかしたら、RollBack セグメントが一杯になっているのではないでしょうか。
この回答への補足
追加質問させてください。
RollBack セグメントが一杯が一杯かどうか調べるためには、どのようにすればよいのでしょうか?
調べたところ、V$ROLLSTATにRSSIZEという項目がありますが、これと何かを比較するのでしょうか?また、どこかにログ等出力されているのであれば、それを確認したいのですが、無理でしょうか?
No.1
- 回答日時:
参考URLによると、コマンドラインの文字数は3000文字が限界のようです。
コマンドは余分な空白などは詰められるようなので、実際の文字数は3000文字を超えると思いますが。
コピペではなくストアドプロシージャにすることをお勧めします。
http://biz.rivus.jp/sqlplus_limits.html
参考URL:http://biz.rivus.jp/sqlplus_limits.html
コマンドラインに制限があるかと思い、改行やコメント等を省きましたが、以前原因不明です。空白および、改行も影響してるのかもしれません。
ストアドプロシージャという手がありましたか。。。本日、急遽引き継いで、テストをしていたので最終的に動かない場合は、全編集でストアドプロシージャを作成する方向に持っていかなければならないかもしれません。。。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 、この式はどのように解釈すればいいのでしょうか 4 2023/02/03 08:53
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- その他(コンピューター・テクノロジー) Pythonの np.indicesに関する質問です。 2 2023/02/07 08:19
- 英語 Implants have a round cross-section, whereas natur 3 2022/10/09 23:09
- 英語 英文の添削をお願いします 4 2023/05/23 11:10
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- 英語 この英文の意味 6 2023/07/14 17:56
- 英語 Almost all of my classmates are from ( ) areas of 3 2022/04/30 13:06
- Visual Basic(VBA) VBA チェックボックスの設定について 1 2022/10/24 10:27
このQ&Aを見た人はこんなQ&Aも見ています
-
カンパ〜イ!←最初の1杯目、なに頼む?
飲み会で最初に頼む1杯、自由に頼むとしたら何を頼みますか? 最初はビールという縛りは無しにして、好きなものを飲むとしたら何を飲みたいですか。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
忘れられない激○○料理
これまでに食べたもののなかで、もっとも「激○○」だった料理を教えて下さい。 激辛、でも激甘でも。 激ウマ、でも激マズでも。
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
お風呂の温度、何℃にしてますか?
みなさん、家のお風呂って何℃で入ってますか? ぬるめのお湯にゆったり…という方もいれば、熱いのが好き!という方もいるかと思います。 我が家は平均的(?)な42℃設定なのですが、みなさんのご家庭では何℃に設定していますか?
-
PL/SQLで@ファイル名が反応しません
Oracle
-
SQLPLUSで結果を画面に表示しない
Oracle
-
SQL Plusで項目名が最後まで表示されない?
Oracle
-
-
4
Oracleでの文字列連結サイズの上限
Oracle
-
5
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
6
sqlplusのspoolで空白行出現
Oracle
-
7
sqlのエラーハンドリングについて質問です。
Oracle
-
8
シェルスクリプトでオラクルのエラーメッセージを取得するには
Oracle
-
9
バッチからsqlplusの接続エラーの検知について
その他(プログラミング・Web制作)
-
10
oracle spool SJIS → UTF-8
Oracle
-
11
OracleのSQL*PLUSで、データが折り返されて見づらいのですが。。。
その他(データベース)
-
12
SQLローダーで複数のCSVファイルのデータを一つのテーブルにInsertしたい
その他(データベース)
-
13
ORACLEから各テーブルをCSV形式で出力するコマンド
Oracle
-
14
sqlplusで表示が変なので、出力を整形したい。
Oracle
-
15
SQL*Plusの終了はquit?exit?
Oracle
-
16
動的にSPOOLファイルのファイル名を生成したい
Oracle
-
17
selectの単純繰り返し
Oracle
-
18
UPDATE文のWHERE条件に他のテーブルのフィールドも入れたい
SQL Server
-
19
sqlplusでヘッダーが付かない
Oracle
-
20
バッチファイルを使用したsql@plusの実行及びログ出力について
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECTで1件のみ取得するには?
-
SQL>UPDATEと同時にその件数を...
-
sqlplusの処理が途中でとまる
-
[Access]時間帯の重複チェック
-
プロシージャで変数をテーブル...
-
☆☆☆☆SQL Olacle 3つ以上の文字...
-
oracleのinsert select性能
-
PostgreSQLで小数点以下を処理...
-
ORDER BY 半角カナ
-
異なるDB間でのJOINやVIEWについて
-
ACCESSとORACLEで抽出結果が異なる
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを使ったSELECT文の総...
-
Excelでセルの書式設定を使用し...
-
Excelで、改行がある場合の条件...
-
アクセスでレポートの1印刷内...
-
外部結合とor条件混在の記述方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECTで1件のみ取得するには?
-
sqlplusの処理が途中でとまる
-
Date型にNULLをセットしたい V...
-
SQL>UPDATEと同時にその件数を...
-
ORDER BY 半角カナ
-
oracleのinsert select性能
-
異なるDB間でのJOINやVIEWについて
-
[Access]時間帯の重複チェック
-
プロシージャで変数をテーブル...
-
☆☆☆☆SQL Olacle 3つ以上の文字...
-
PostgreSQLで小数点以下を処理...
-
正規化?の戻しについて
-
連番のつけ方
-
マクロの編集方法を教えて下さい。
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
select insertで複数テーブルか...
-
Accessで別テーブルの値をフォ...
-
実績累計の求め方と意味を教え...
-
select句副問い合わせ 値の個...
おすすめ情報