Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Kemas Kini Berbilang Jadual Pelayan SQL dalam Satu Transaksi?

Bagaimanakah Saya Boleh Kemas Kini Berbilang Jadual Pelayan SQL dalam Satu Transaksi?

Linda Hamilton
Linda Hamiltonasal
2025-01-20 15:06:11804semak imbas

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

Kemas Kini Serentak Merentas Berbilang Jadual Pelayan SQL

Mengemas kini berbilang jadual secara langsung dalam satu pernyataan SQL tidak disokong dalam SQL Server 2005. Walau bagaimanapun, anda boleh mencapai kemas kini atom merentas berbilang jadual dengan membungkus penyata KEMASKINI anda dalam transaksi.

Mari kita gambarkan ini dengan contoh. Katakan kita perlu mengemas kini LastName dalam Table1 dan WAprrs dalam Table2 di mana lajur id sepadan dengan nilai tertentu. Ini boleh dicapai menggunakan blok transaksi berikut:

<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>

Adalah penting untuk diingat bahawa pernyataan COMMIT TRANSACTION adalah penting. Ini memastikan bahawa kedua-dua penyataan KEMASKINI sama ada berjaya diselesaikan bersama-sama, atau kedua-duanya gagal, mengekalkan integriti data dan mengelakkan ketidakkonsistenan yang boleh timbul jika hanya satu kemas kini berjaya. Menggunakan sintaks JOIN eksplisit juga diutamakan untuk kejelasan dan kecekapan berbanding gabungan tersirat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Kemas Kini Berbilang Jadual Pelayan SQL dalam Satu Transaksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn