
タイトルの通り、複数テーブルの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
以上、緊急の内容であったため、十分調べていない点があるかもしれませんが、何卒、ご存知の方ご教授お願い致します。
No.3ベストアンサー
- 回答日時:
update1文で複数表の更新は、SQL Serverでは未サポートです。
MySQLでは、サポートしているようですけど。
質問にあるupdateは、table_1だけ更新するようになっているようですが、table_2の更新部分を省略して書いただけでしょうか?
updateで他表とジョインした結果で1表を更新するといった書き方なら、「update ~ set ~ from ~ where ~」といった書き方はできます。
No.4
- 回答日時:
的外れな回答だったらごめんなさい。
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
こんな感じのストアドプロシージャを作成して実行してみてはどうでしょう。
また、トリガーの作成をしても良いのではないでしょうか。
そうですね。2度SQLの発行を行えば、それでできそうです。
ただ、queryが長くなってしまうことを嫌っていました。
丁寧なご回答有難うございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CLOB型へのINSERT
-
Oracle テーブルの列削除
-
主キーが二つのテーブルのselec...
-
Oracle複数の表をもとにmerge文...
-
SQLのto_char関数の未定義エラー
-
データを削除しても表領域の使...
-
ORA-00959: 表領域'****'は...
-
Data Pump で大量データインポ...
-
お知恵をお貸しください。
-
INDEXの無効化
-
DELETE文でFROM句を省略した場合
-
datapumpの実行方法について
-
シノニムってエイリアスのエイ...
-
TruncateしたテーブルへのInser...
-
Viewにインデックスは張れ...
-
RDBのテーブル種類の違い
-
アナライズとインデックス作成...
-
異なるスキーマからビュー作成
-
特定のスキーマのテーブルを一...
-
列が255以上のCSVファイルをAcc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CLOB型へのINSERT
-
テーブル名を[]でくくらないと...
-
truncate文で全テーブルを一気...
-
Oracle複数の表をもとにmerge文...
-
SQL*Loaderをダイレクトモード...
-
主キーが二つのテーブルのselec...
-
oracleのプライマリ・キー名の変更
-
oracle sqlで先頭の1件を取得
-
count(1)とcount(*)の違い
-
Oracle上のテーブルからCREATE ...
-
グループの数を取得したい
-
Oracle テーブルの列削除
-
プライマリーキーの追加
-
1つのテーブル・2つの列を結合...
-
SQLのto_char関数の未定義エラー
-
複数テーブルのUPDATE
-
あるデータベースの表を全部消...
-
DBに新しいTBLを作成した際の初...
-
sqlplusで実行したSQLの結果を...
-
Oracle9i v$sysstatの解釈
おすすめ情報