Mamy aplikację kliencką, która działa na SQL Server 2005, na przykład:
BEGIN TRAN;
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
COMMIT TRAN;
Jest wysyłany przez jedno długie polecenie.
Jeśli jedno z wstawień nie powiedzie się lub którakolwiek część polecenia się nie powiedzie, czy SQL Server wycofuje transakcję? Jeśli nie można go wycofać, czy muszę wysłać drugie polecenie, aby je wycofać?
Mogę podać szczegóły dotyczące interfejsu API i języka, którego używam, ale wydaje mi się, że SQL Server powinien odpowiadać tak samo dla każdego języka.