Kami memiliki aplikasi klien yang menjalankan beberapa SQL pada SQL Server 2005 seperti berikut:
BEGIN TRAN;
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
COMMIT TRAN;
Ini dikirim oleh satu perintah string panjang.
Jika salah satu sisipan gagal, atau ada bagian dari perintah gagal, apakah SQL Server mengembalikan transaksi? Jika tidak mengembalikan, apakah saya harus mengirim perintah kedua untuk mengembalikannya?
Saya dapat memberikan spesifik tentang api dan bahasa yang saya gunakan, tetapi saya akan berpikir SQL Server harus menanggapi hal yang sama untuk bahasa apa pun.