У нас есть клиентское приложение, которое запускает SQL на 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 должен ответить одинаково для любого языка.