Cara Melakukan Pemeriksaan Kewujudan Baris Atom dan Sisipan Menggunakan T-SQL
Dalam sistem pangkalan data, selalunya perlu melakukan operasi pada baris yang mungkin wujud atau tidak. Dalam senario sedemikian, adalah penting untuk memastikan atomicity dan kebolehpercayaan untuk mengekalkan integriti data.
Untuk menyemak sama ada baris wujud dan melaksanakan operasi sisipan dengan sewajarnya, pertimbangkan pendekatan berikut dalam T-SQL:
IF EXISTS (SELECT * FROM Bookings WHERE FlightID = @Id) BEGIN -- Update the existing row here... END ELSE BEGIN -- Insert a new row here... END
Pendekatan ini memastikan atomicity dengan menggunakan pernyataan IF EXISTS untuk melaksanakan kedua-dua semakan kewujudan dan operasi sisipan dalam satu transaksi. Ia menghalang keadaan perlumbaan di mana urus niaga serentak berkemungkinan memasukkan baris pendua.
Kawalan Transaksi
Untuk membungkus operasi dalam urus niaga, gunakan penyata seperti MULAKAN TRANSAKSI, KOMIT TRANSAKSI , dan ROLLBACK TRANSAKSI.
Pengendalian Kiraan Baris
Pembolehubah global @@ROWCOUNT menjejaki bilangan baris yang terjejas oleh operasi. Dalam kes ini, ia tidak boleh dipercayai untuk semakan kewujudan kerana operasi kemas kini mungkin mengembalikan 0 baris walaupun apabila baris wujud (mis., jika tiada perubahan digunakan). Oleh itu, adalah lebih dipercayai untuk menggunakan JIKA WUJUD dengan subkueri.
Status Transaksi Pengembalian
Untuk menunjukkan kejayaan transaksi, anda boleh menggunakan TRY-CATCH sekat dan kembalikan nilai yang sesuai:
BEGIN TRY -- Transaction Logic COMMIT TRANSACTION RETURN 1 -- Transaction committed END TRY BEGIN CATCH ROLLBACK TRANSACTION RETURN 0 -- Transaction failed END CATCH
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Kewujudan Baris dan Sisipkan secara Atom dalam T-SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!