C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: SQLPlusで複数行のSQLを実行したい


(過去ログ 83 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■48967 / inTopicNo.1)  SQLPlusで複数行のSQLを実行したい
  
□投稿者/ デザパタ (5回)-(2010/04/19(Mon) 10:58:56)

分類:[データベース全般] 

おはようございます。
Oracle11gを使用しています。

SQLPlusで複数行のSQLを実行するには、改行しつつ最後に「;」を入力し確定という流れかと思います。
しかし、例えばストアドのように(登録用の)SQL内に「;」が登場するケースでは、まだSQLの途中にも関わらずそこで確定してしまい最後まで実行できません。
現在はA5などの外部ツールを用いて(実行形式を「全体を1つ」にして)対処しているのですが、SQLPlusではどのように対処したらよろしいでしょうか?

引用返信 編集キー/
■48970 / inTopicNo.2)  Re[1]: SQLPlusで複数行のSQLを実行したい
□投稿者/ よもやま (10回)-(2010/04/19(Mon) 12:25:42)
No48967 (デザパタ さん) に返信
> おはようございます。
> Oracle11gを使用しています。
>
> SQLPlusで複数行のSQLを実行するには、改行しつつ最後に「;」を入力し確定という流れかと思います。
> しかし、例えばストアドのように(登録用の)SQL内に「;」が登場するケースでは、まだSQLの途中にも関わらずそこで確定してしまい最後まで実行できません。
> 現在はA5などの外部ツールを用いて(実行形式を「全体を1つ」にして)対処しているのですが、SQLPlusではどのように対処したらよろしいでしょうか?
>
insert文でまとめて登録されたい場合
SQL文をメモ帳等で保存し、SQL Plusから保存したsql文ファイルを実行できたかと。
すぐに確認できる環境でないので、はずしていたらすいません。

引用返信 編集キー/
■48978 / inTopicNo.3)  Re[2]: SQLPlusで複数行のSQLを実行したい
□投稿者/ 中博俊 (1390回)-(2010/04/19(Mon) 14:21:42)
@"filename.ext"
でファイル実行できますけど、そういうこと?
引用返信 編集キー/
■48980 / inTopicNo.4)  Re[3]: SQLPlusで複数行のSQLを実行したい
□投稿者/ エクシ (9回)-(2010/04/19(Mon) 15:04:04)
sakura エディタのショートカット(F10)でファイル実行できますけど、そういうこと?
引用返信 編集キー/
■48982 / inTopicNo.5)  Re[4]: SQLPlusで複数行のSQLを実行したい
□投稿者/ デザパタ (6回)-(2010/04/19(Mon) 16:14:32)
よもやまさん、中さんありがとうございます。

実はそのわざ使っていたんですが、最後まで実行されず、
結局SQLPlusで直打ちしたときと変わらない現象が起きていると勘違いしていました。

ただ、試行錯誤の結果、Create文を実行したあとに「/」を打ち込むことによって、うまく登録できるようになりました。
#直打ちのときにはいらなかったので想定していませんでしたが、そういうもんなんですかね。



エクシさんありがとうございます。
今回はSQLPlusを使って行うことが前提でしたのでsakuraエディタの使用は考えていません。
#実はOracleDataBaseインストール先でストアドを登録ための、バッチファイルを作りたかった。

解決済み
引用返信 編集キー/
■48984 / inTopicNo.6)  Re[5]: SQLPlusで複数行のSQLを実行したい
□投稿者/ エクシ (10回)-(2010/04/19(Mon) 17:19:11)
No48982 (デザパタ さん) に返信
> 結局SQLPlusで直打ちしたときと変わらない現象が
> #直打ちのときにはいらなかったので想定していませんでしたが
前者の直打ちが SQLPlus、後者の直打ちがツールとして、A5 は使ったこと無いけど
ツールで1文字変わる毎にコンパイルするなんて有り得ないと思うから、メニュー
やボタンで選んでコンパイルしていたのでは?

要するに同じことだと思いますが?
SQLPlus のコマンドを知らない人が SQLPlus を使うことに無理があるだけで。

> しかし、例えばストアドのように(登録用の)SQL内に「;」が登場するケースでは、まだSQLの途中にも関わらずそこで確定してしまい
結局↑の説明も間違っていたのでは?
ブロックの入力途中だったというだけでは?貴方がいくら PL/SQL のコード
を最後まで打ち込んだと思っても、SQLPlus にとってはコンパイル前の只の
文字列でしかないでしょうに。

> 今回はSQLPlusを使って行うことが前提でしたのでsakuraエディタの使用は考えていません。
説明が不十分だったようです。
sakura エディタには標準で、編集中のテキストファイルを SQLPlus で実行する
ショートカットがあります。
# つまり中さんの内容について、エディタが対応している情報の提供でした。
# 現地環境でツールのインストール等に厳しくても、エディタは許可してくれる
# ケースがあるので。
解決済み
引用返信 編集キー/
■49053 / inTopicNo.7)  Re[6]: SQLPlusで複数行のSQLを実行したい
□投稿者/ デザパタ (7回)-(2010/04/21(Wed) 10:43:10)
No48984 (エクシ さん) に返信
>> しかし、例えばストアドのように(登録用の)SQL内に「;」が登場するケースでは、まだSQLの途中にも関わらずそこで確定してしまい
>結局↑の説明も間違っていたのでは?
>ブロックの入力途中だったというだけでは?貴方がいくら PL/SQL のコード
>を最後まで打ち込んだと思っても、SQLPlus にとってはコンパイル前の只の
>文字列でしかないでしょうに。

はい。間違いでした。
どうやら直打ち、ファイルからの登録、どちらもSQLPlusがコードの入力途中と判断し実行されていなかったようです。
PL/SQLブロック内ではセミコロンはステートメントの終端文字と認識されるため、必ず最後にスラッシュで実行する必要があるようです。

引用返信 編集キー/
■49054 / inTopicNo.8)  Re[7]: SQLPlusで複数行のSQLを実行したい
□投稿者/ デザパタ (8回)-(2010/04/21(Wed) 10:43:36)
解決済み
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -