ホームページ >データベース >mysql チュートリアル >単一のトランザクションで複数の SQL Server テーブルを更新するにはどうすればよいですか?

単一のトランザクションで複数の SQL Server テーブルを更新するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-20 15:06:11851ブラウズ

How Can I Update Multiple SQL Server Tables in a Single Transaction?

複数の SQL Server テーブルにわたる同時更新

単一の SQL ステートメント内で複数のテーブルを直接更新することは、SQL Server 2005 ではサポートされていません。ただし、UPDATE ステートメントをトランザクション内にラップすることで、複数のテーブルにわたるアトミックな更新を実現できます。

これを例で説明しましょう。 LastName 列が特定の値と一致する Table1WAprrsTable2id を更新する必要があるとします。 これは、次のトランザクション ブロックを使用して実現できます:

<code class="language-sql">BEGIN TRANSACTION;

UPDATE Table1
SET LastName = 'DR. XXXXXX'
FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id = T2.id
WHERE T1.id = '011008';

UPDATE Table2
SET WAprrs = 'start,stop'
FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id = T2.id
WHERE T1.id = '011008';

COMMIT TRANSACTION;</code>

COMMIT TRANSACTION ステートメントは必須であることを覚えておくことが重要です。 これにより、両方の UPDATE ステートメントが同時に正常に完了するか、両方とも失敗することが保証され、データの整合性が維持され、一方の更新のみが成功した場合に発生する可能性のある不整合が防止されます。 明示的な JOIN 構文を使用することも、暗黙的な結合よりも明確さと効率の点で推奨されます。

以上が単一のトランザクションで複数の SQL Server テーブルを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。