アプリ版:「スタンプのみでお礼する」機能のリリースについて

タイトルの通り、複数テーブルのUPDATEを行いたいと思っています。
私なりには、以下のようなコードでテーブルを作成しようとしましたが、作成できませんでした。 エラー内容としては、
update table_1, table_2 SET
のtable_1, が間違ってます的なエラーでした。

update table_1, table_2 SET
table_1.updatetime=getdate(),
WHERE
table_1.SeqNo = table_2.SeqNo
AND table_1.SeqNo = @SeqNo

以上、緊急の内容であったため、十分調べていない点があるかもしれませんが、何卒、ご存知の方ご教授お願い致します。

A 回答 (4件)

update1文で複数表の更新は、SQL Serverでは未サポートです。


MySQLでは、サポートしているようですけど。

質問にあるupdateは、table_1だけ更新するようになっているようですが、table_2の更新部分を省略して書いただけでしょうか?

updateで他表とジョインした結果で1表を更新するといった書き方なら、「update ~ set ~ from ~ where ~」といった書き方はできます。
    • good
    • 1
この回答へのお礼

joinでテーブル結合すれば、できそうですね。
試してみます。

お礼日時:2007/05/31 09:42

的外れな回答だったらごめんなさい。


Table_1とTable_2の同じSeqNoのupdatetimeを一度に変更したいわけですよね?

@SQLNo int
AS
BEGIN
UPDATE Table_1
SET updatetime = GETDATE()
WHERE (Table_1.SeqNo = @SQLNo)

UPDATE Table_2
SET updatetime = GETDATE()
WHERE (Table_2.SeqNo = @SQLNo)
END

こんな感じのストアドプロシージャを作成して実行してみてはどうでしょう。
また、トリガーの作成をしても良いのではないでしょうか。
    • good
    • 0
この回答へのお礼

そうですね。2度SQLの発行を行えば、それでできそうです。
ただ、queryが長くなってしまうことを嫌っていました。
丁寧なご回答有難うございます。

お礼日時:2007/05/31 09:44

No1回答者



出来ないはずです。
    • good
    • 0
この回答へのお礼

そうですか、ありがとうございます。

お礼日時:2007/05/31 09:42

複数テーブルのUPDATEって・・・


できるのでしたっけ?

この回答への補足

いいえ、わかりません(汗)
できるのかなって思ったのですが、できないのでしょうか?

補足日時:2007/04/25 13:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す