السلام عليكم ورحمه الله وبركاته
لدي مشكله فالكود التالي وهي انني عندما اعمل اكسكيوت لا تنتهي المعالجه.!!
Begin Tran TRN_1
Update TABLE_1 set b = '1'
SAVE TRANSACTION savepoint1
Update TABLE_1 set s = '2'
SAVE TRANSACTION savepoint2
Update TABLE_1 set b = '3'
IF @@error <> 0 --= some Error
BEGIN
ROLLBACK TRANSACTION Savepoint1--ROLLBACK TRANSACTION Savepoint2
COMMIT TRANSACTION
END
else
BEGIN
COMMIT TRANSACTION
END
GO
-- SELECT * FROM TABLE_1المشكله فالكود الثاني هي انني عندما ادخل القيمه 1 أو 2 فالباراميتر يعرض قيمه الترانزكشنين ؟؟؟؟
DECLARE @prmtr INT SELECT @prmtr=1 Begin Tran TRN_1 --WITH MARK Update TABLE_1 set B = 'TRN_1'--+B --select @@trancount Begin Tran TRN_2 Update TABLE_1 set S = 'TRN_2'--+B --select @@trancount IF @prmtr=1 Begin Commit Tran TRN_1 END ELSE IF @prmtr=2 Begin Commit Tran TRN_2 END ELSE Begin PRINT 'تراجع عن العمليات' ROLLBACK TRAN TRN_1 --select @@trancount ROLLBACK TRAN TRN_2 --select @@trancount END GO --sp_lock -- عرض التأمينات التي تم إجراؤها GO SELECT * FROM TABLE_1
:huh:
