- PR -

SQL Server7.0(T-SQL)にてSQL文を生成し実行したい

投稿者投稿内容
NAK
ベテラン
会議室デビュー日: 2002/10/27
投稿数: 91
投稿日時: 2004-09-14 09:33
皆様にはいつもお世話になっております。

SQL Server 7.0であるテーブルにデータのアップデートのための検索条件、アップデート値が入力されているとします。

例えば、
A 2000
B 3000
C 4000

といった具合です。
一旦、このテーブルからデータを読み込んだ後に、
update tableA set price=2000 where code='A'

のようにSQL文を実行し、順次実行していきたいのですが、これらを全てT-SQLで記述することは可能でしょうか?

「EXEC」コマンドを使用しようとしたらうまくいきませんでした。
どなたかご存知の方がいらっしゃいましたらご教示宜しくお願いいたします。
未記入
会議室デビュー日: 2004/09/14
投稿数: 13
投稿日時: 2004-09-14 10:13
引用:

のようにSQL文を実行し、順次実行していきたいのですが、これらを全てT-SQLで記述することは可能でしょうか?


可能です。

引用:

「EXEC」コマンドを使用しようとしたらうまくいきませんでした。


うまくいきます。
NAK
ベテラン
会議室デビュー日: 2002/10/27
投稿数: 91
投稿日時: 2004-09-14 16:04
ご指摘ありがとうございます。

もう一度やってみたのですが、構文エラーになってしまいます。
コマンドは下記のような感じなのですが...

「exec ("update tableA set price=" + @a + " where code='" + @b + "'")」

@aは左の列、@bは右の列を代入するつもりです。
再度、ご教示いただければと思います。
未記入
会議室デビュー日: 2004/09/14
投稿数: 13
投稿日時: 2004-09-14 19:40
引用:

もう一度やってみたのですが、構文エラーになってしまいます。


いまだに、エラーメッセージも提示できないなんて、相当、頭悪いんですね。
文字列リテラルをダブルクォーテーションで括りたいってことは、当然、
SET QUOTED_IDENTIFIER OFF は実行しているんですよね?
とにかく、その SQL Server 壊れてるからマイクロソフトに言ったほうがいいですよ。
NAK
ベテラン
会議室デビュー日: 2002/10/27
投稿数: 91
投稿日時: 2004-09-14 19:50
あまりにひどい言い方ですね。
ネットの匿名性をいいことに言いたい放題。
あなたみたいな輩がいるから、ネットのイメージがわるくなるのですよ!!
たけだ
会議室デビュー日: 2004/09/09
投稿数: 7
投稿日時: 2004-09-14 20:09
こんにちは。

update tableA set price = b.price from tableA inner join tableB b on tableA.code = b.code
では、ダメですか?
未記入
会議室デビュー日: 2004/09/14
投稿数: 13
投稿日時: 2004-09-14 20:23
引用:

あまりにひどい言い方ですね。
ネットの匿名性をいいことに言いたい放題。
あなたみたいな輩がいるから、ネットのイメージがわるくなるのですよ!!


あまりにひどい質問の仕方ですね。
ネットの匿名性をいいことにいい加減な質問したい放題。
挙句の果てには捨て台詞。回答してもらってお礼の一言も言えないんですね。
あなたみたいな輩がいるから、ネットのイメージがわるくなるのですよ!!
NAK
ベテラン
会議室デビュー日: 2002/10/27
投稿数: 91
投稿日時: 2004-09-14 21:30
たけだ様

よく考えればご指摘いただいた方法で解決できました。
ありがとうございました。
今後とも宜しくお願いいたします。

スキルアップ/キャリアアップ(JOB@IT)