• 締切済み

ファイルに書かれたSQLの実行方法(oracleとの違い)

お世話になります。 SQLServer2000、クエリアナライザで質問があります。 ファイルに書かれた一連のSQLの実行したいとき、 ORACLEでは、SQL*PLUSから ファイル名の前に@をつけて実行できました。 また、SQLスクリプトの中で、別のSQLスクリプトを呼び出す場合は、@@を付ければできました。 このような事を、クエリアナライザから行いたい場合、どのようにすれば可能でしょうか? よろしくお願いします。

みんなの回答

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

-iオプションを使いましょう。 C:\>osql.exe -S server -U sa -P pass -i inputfile.sql C:\>isqlw.exe -S server -U sa -P pass -i inputfile.sql  この"inputfile.sql"がファイル名です。インクルードはちょっと分かりません。

nsv1000e
質問者

お礼

遅くなり申し訳ありません。 ありがとうございます。 やはり、コマンドプロンプトから実行するしかないのですね。 教えて頂いたコマンドで、osqlはできたのですが、isqlw(クエリアナライザ)はできませんでした。 コマンドライン引数がすこし違うのでしょうか・・・ インクルードできないのはとても不便ですね。

関連するQ&A

  • スクリプトファイルの一括実行

    SQLSERVER初心者です。 CREATE文を沢山作ったのですが、 1テーブル1ファイルのテキストファイルで 作ってしまい、 クエリアナライザでテーブル作成するときに 1ファイルずつ開いて、コピーペーストして 1テーブルずつ作成しています。 SQL*PLUSのように @ファイル名のように、 複数スクリプトを一括実行できる方法は ありませんでしょうか。 お時間のあるときに解答おねがいします。 m(_ _)m 開発環境 SQLSERVER2000 OS:windows server2003

  • SQLファイルでのパラメータ指定の方法

    いつもお世話になっております。 以下のようなスクリプトを含むSQLファイルで「1234」を何回も記述したくないので、スクリプト上部で1回パラメータ指定する書き方をご教授願います。実行はSQLServerのクエリアナライザで行いたいです。 SELECT * FROM 顧客 WHERE 会社CD=1234; SELECT * FROM 商品 WHERE 会社CD=1234; よろしくお願いします。

  • クエリファイルから外部のクエリファイルを実行する方法

    SQL Server2000です。 DB構築を行うにあたり、インストールで実行するクエリファイルから、 別のクエリファイル(実際にテーブル、ストアドを構築する内容を記述)を実行できる方法がわからず悩んでいます。 a.sql・・・b.sqlやc.sqlを統括するクエリファイル b.sql、c.sql・・・テーブル構成、ストアドを構築するクエリファイル SQL クエリアナライザからa.sqlのクエリファイルを開いて、 クエリ実行するイメージでいます。 a.sqlからb.sqlを呼び出すには、どのような記述をすればよろしいのでしょうか? よろしくお願いします。

  • PL/SQLで@ファイル名が反応しません

    はじめまして、PC超初心者なのにOracleを勉強し始めました。 PL/SQLの本を買って見よう見真似でやっているのですが、SQL*PLUSから@<ファイル名>を実行しても何の反応もありません。 SQL>@sample1 としても SQL>@sample1 SQL> と何事もなかったようになります。 本によればエディタに保存したSQL内容が実行されるとあるのですが。。。 ちなみにサンプルエディタをダウンロードして、実行しようとしても全くの無反応です。 どこか根本的な設定がおかしいのでしょうか。。。 どなたかご回答いただけると助かります。

  • SQLサーバに対してのバッチファイルの実行

    はじめまして、 よろしくお願いいたします。 <やりたいこと> 複数のSQLサーバーにログインして SQLスクリプトを流すバッチファイルを作成したい。 サーバー名は全て異なるが、 ユーザー名、パスワードは全て同じもので ログインが可能。 <質問> 上記のことをやりたいのですが、 イメージがつかめず、困っております。 ・コマンドラインからSQLサーバーに接続できるのか?(コマンドラインからEnterpriseManagerとかクエリアナライザを起動しないと無理?) ・接続する処理については、.sqlファイルに記述することは可能なのでしょうか? 以上、お気づきになられた方がおられましたら、 よろしくお願いいたします。

  • VBScriptでSQLファイルの実行

    WSHShell.Runにて、SQL*Plus経由でXXX.sql(内部でストアドプロシージャをコールします)を実行し、ログも出力したいのですが、以下のコマンドをRunに指定すると、sqlplusより返ってこなくなってしまいます。 コマンドプロンプトで実行する分には、正常に終了するのですが・・・。 何が悪いのかわかりません。。 sqlplus -s ユーザー/パスワード@ホスト名 @C:\temp\XXX.sql > C:\temp\XXX.log 代替案として、VBSにてOracleのProcedureをコールする方法でも構いません。 わかる方いらっしゃいましたらご教授願います。 ちなみに、コマンド部分をbatファイルにしてそのbatファイルをVBSでコールすることは可能でした。

  • osqlからのsql実行方法について

    Windows20003のSQL Server2000の環境で、あるテーブルのインデックスを指定して統計情報を更新する処理のバッチ化を考えており、osqlを使用すれば可能な所までは調査出来たのですが、、、 osqlから、SQL文をオプション"Q"にて実行する場合、例えばテーブル名 or インデックス名に「~」等の特殊文字を含む場合、そのまま実行するとシンタックスエラーとなり実行出来ませんでした。 テーブル名 or インデックス名に「~」等の特殊文字を含む場合の実行方法をどなたか御教授御願い出来ないでしょうか。。。 因みに、オプション"i"でsqlファイルを作成して実行しても、sql文に特殊文字があった場合はシンタックスエラーとなりました。 Query Analyzerでは、インデックス名を「"」囲み実行すれば、正常に処理される事は確認済みです。 【実行方法】 osql -E -S <サーバ名> -d <DB名> -Q "UPDATE STATISTICS <テーブル名> <インデックス名> WITH FULLSCAN"

  • OSQLについて

    Windows2000 SQLServer2000 を使っています。 クエリアナライザでSQLステートメントを作りました。 これを別の人が実行する場合、保存したSQLステートメントをクエリアナライザで開いて実行させる方式にしようと考えていたのですが、それではSQLステートメントを編集できてしまい、まずいので、バッチを使って保存したSQLステートメントを実行させたいと考えています。 そこでヘルプでOSQLについて調べたのですが、理解できないし、うまく使えません。 そもそもの考え方が間違っているのでしょうか? OSQLの使い方の簡単な例など教えていただけるとありがたいです。 よろしくお願いします。

  • Sql developer .sqlファイル実行

    SQL developerから、.sqlファイルの実行はできないのでしょうか? 家のパソコンに、vurtual Box でwindows上にLinuxをインストールして、そこにOracleを乗っけて勉強しています。 単純に、spcreate.sql を開きたかっただけなのですが、 windows上から、Sqlplusで下記を実行した場合 @?/rdbms/admin/spcreate.sql は、ちゃんとファイルを開くことができます。 しかしwindows上の、SQLdeveloperからは、上記の方にコマンドをうっても、 エラーが発生しました。ファイルが開けません。 とでてきます。 これは、sqldeveloperは、ファイルを開くようなことができない仕様になっているということでしょうか? よろしくお願いいたします。

  • MS-DOSでのSQL実行について

    MS-DOSでSQLPlusを使い、select文などを実行しようと思うのですがソースコードの書き方がいまいち分かりません。 sqlplus ユーザ名/パスワード@データベース名 @実行したいSQLファイル1 if "%a%"==1( @実行したいSQLファイル2 ) else ( @実行したいSQLファイル3 exit というような形でソースを書いたのですがSQLのファイルが開かなかったりでうまく動きません。 SQLファイルの中身はselect文などで、 変数aはSQLの中でsetされる変数です。 どのように書けばうまく実行できるのでしょうか? また、参考になるサイトなどありましたら教えて頂けると助かります。 よろしくお願いします。