У нас є клієнтська програма, яка працює на SQL Server 2005, наприклад, такі:
BEGIN TRAN;
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
COMMIT TRAN;
Він надсилається однією командою довгих рядків.
Якщо одна з вставок не працює, або якась частина команди не вдається, чи SQL Server повертає транзакцію? Якщо воно не відкидається, чи потрібно мені надіслати другу команду, щоб повернути його назад?
Я можу дати конкретні відомості про api та мову, якою я користуюся, але я думаю, що SQL Server повинен відповідати однаково для будь-якої мови.