1

2つのテーブルに格納されているいくつかの情報を更新する必要があります。テーブルの1つを更新するには、他のテーブルとのJOINを実行する必要があります。1つのクエリで両方を更新できるかどうか疑問に思いました。一部の投稿では、トリガーの使用が提案されています。C#で実行する必要があるため、別の方法があることを期待していました。また、私は次のようなものを使用することが可能であると言っている他の投稿を見ました:

update pd, pr
set pd.Name = 'Test',
pr.Date = '2012-07-31',
from prDetail pd
left join pr on pd.ID = pr.ID
where pd.Code = '45007'
and pr = '2019'
and pr.Item = '1'

これは私には機能していません(このエラーが表示されています:) Incorrect syntax near ','。これは何らかの方法で達成できますか?

4

3 に答える 3

6

いいえ。

一度に更新できるテーブルは1つだけです。

更新を2つの更新クエリに分割し、必要に応じてそれらをトランザクションにラップします。

于 2012-08-17T12:02:01.047 に答える
0

はい、@ podiluskaが言ったように、一度に更新できるテーブルは1つだけです。また、transactionを使用して、1つのトランザクションで両方のクエリを実行することもできます。

それ以外の場合、テーブル/リレーションに依存関係(外部キーと主キー)の関係がある場合は、cascadeオプションを使用できます。

そうしないと、

を使用できますTrigger

于 2012-08-17T12:12:32.517 に答える
0

いいえ、一度に2つ更新することはできませんが、ストアドプロシージャにまとめて、代わりに呼び出すことを検討してください。可能であれば、このようなトリガーを回避するようにしてください。

于 2012-08-21T19:21:16.343 に答える