Я получаю следующее сообщение об ошибке случайно, когда пытаюсь выполнить описанную ниже хранимую процедуру через приложение ядра .net.
Сообщение об ошибке:
System.Data.SqlClient.SqlException (0x80131904): текущая транзакция не может быть зафиксирована и не может быть откатлена до точки сохранения.Откатите всю транзакцию.
Хранимая процедура:
ALTER PROCEDURE [dbo].[USP_UpdateInfo] (@xx NVARCHAR(50),
@yy NVARCHAR(200),@Id int, @ab NVARCHAR(max),
@ac int,
@ad NVARCHAR(200), @ae NVARCHAR(200),@af NVARCHAR(100),
@ag NVARCHAR(100),@zz NVARCHAR(MAX), @DateTime DATETIME)
AS
BEGIN
BEGIN TRANSACTION;
SAVE TRANSACTION UpdateInfo;
BEGIN TRY
--First update
UPDATE XXTable
SET XX = @xx
WHERE YY=@yy;
--Update the XXTable object with updated information
UPDATE XXTable
SET ZZ = @zz,
AB = @ab,
AC= @ac,
AD= @ad,
AE= @ae,
AF= @af,
AG= @ag,
DateTime= @DateTime
WHERE Id=@Id;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION UpdateInfo; -- rollback to MySavePoint
END
END CATCH
COMMIT TRANSACTION
END
Итак, кто-нибудь может помочь мне в этомвопрос