PDA

View Full Version : مشکل در BEGIN TRAN



fakhravari
سه شنبه 15 مهر 1393, 01:38 صبح
DECLARE @ID INT,@ID2 INT,@g INT
BEGIN TRAN


INSERT [Categories] ([CatName]) VALUES (N'بوشهر')
SELECT @ID = SCOPE_IDENTITY()


IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
END

INSERT [Forums] ([CatID], [ForumsName], [Subject]) VALUES (@ID, N'بوشهر 2', N'بوشهر 2')
SELECT @ID2 = SCOPE_IDENTITY()


IF (@@ERROR <> 0)
BEGIN
ROLLBACK TRAN
END


COMMIT TRAN

با سلام
در کد بالا بعد اجرا جداول قفل میشوند
چرا COMMIT نمیشه؟

asemoon barooni
سه شنبه 15 مهر 1393, 17:07 عصر
از TRY...CATCH (http://msdn.microsoft.com/en-us/library/ms175976%28SQL.90%29.aspx) استفاده کنید و قسمت بررسی Error@@ را به داخل catch و commit رو در قسمت try بنویسید مشکل حل می شود.

BEGIN TRY
BEGIN TRANSACTION
--================================================
-- Add Your Code Here
--================================================
COMMIT
END TRY
BEGIN CATCH
ROLLBACK
END CATCH

fakhravari
جمعه 18 مهر 1393, 12:12 عصر
:متفکر:
الان بدون قفل جدول همون کد بالا ثبت میشه