テキストファイル内に書かれているSQL文を読み込みSQL文を実行したりしているのですが、
・テキストファイル内にSQL文のみ書かれている場合
SQL文が実行できる
・テキストファイル内にSQL文以外(変数宣言とか)が書かれている場合
ファイル内に、変数宣言やIF文とかが書かれています。
そのまま読み込み実行は出来ないと思うんですが可能でしょうか?
もし無理な場合、別のやり方があればお教えください。
誰でも思いつきそうな話で恐縮ですが
読み込んだものを
(IF分など無いか)解析して実行する
と言ったことが考えられるかと思いますが
出来ない理由は何かあるのでしょうか?
SQL文はSQLの文法にのっとらなければ実行できません。
>変数宣言やIF文とかが書かれています。
そういう自分勝手仕様部分は、
ファイルに書く前、もしくは読んだときに
自分勝手仕様に基づいてSQL文に変換する必要があるでしょう。
たとえば、
"SELECT * FROM TABLE01 WHERE %1 = '%2'"
みたいに穴埋めするSQL文データを用意して、
実行時にReplace関数等で実値を埋め込むとか。
やはり文法にのっとらないとダメですか。
現状、バッチでそのSQL文等書かれているファイルを実行してるのですが
エラーがわからないためVBに変更することにしました。
VBにコードで書くのがやはりベストなんですかね?
何がベストかは、要件/ミッションの重要度/環境/スキル/予算等で判断する必要がありますが、
プログラム組んで行うのも手段のひとつでしょう。
バッチならVBScriptでもよいかもしれないです。
ちなみに、DBは何でしょうか?
OracleやSQLServer等まともなRDBMSであれば、
ストアドプロシージャで組む方法もあるでしょう。
DBはSQLServerを使ってます。
いろいろ試してみたんですが、ストアドプロシージャで組む事にしました。
ありがとうございました。
ツイート | ![]() |