BEGIN TRANSACTION
INSERT INTO [dbo].[Vip_Card] (CardName)VALUES(@CardName)
DECLARE iFlag int
SET iFlag=-1
IF 条件
SET @iFLag=1
ELSE 条件
SET @iFlag=1
IF @@error<>0 AND @iFlag=-1
BEGIN
ROLLBACK TRANSACTION
END
ELSE
BEGIN
COMMIT TRANSACTION
END
为什么当@iFlag=-1的时候,还是会插入Vip_Card呢?而不执行回滚?
INSERT INTO [dbo].[Vip_Card] (CardName)VALUES(@CardName)
DECLARE iFlag int
SET iFlag=-1
IF 条件
SET @iFLag=1
ELSE 条件
SET @iFlag=1
IF @@error<>0 AND @iFlag=-1
BEGIN
ROLLBACK TRANSACTION
END
ELSE
BEGIN
COMMIT TRANSACTION
END
为什么当@iFlag=-1的时候,还是会插入Vip_Card呢?而不执行回滚?
INSERT INTO [dbo].[Vip_Card] (CardName)VALUES(@CardName)
DECLARE iFlag int
SET iFlag=-1
IF 条件
SET @iFLag=1
ELSE 条件
SET @iFlag=1
IF @iFlag=-1
BEGIN
ROLLBACK TRANSACTION
END
ELSE
BEGIN
COMMIT TRANSACTION
END
DECLARE @err int,@iFlag INT
INSERT INTO [dbo].[Vip_Card]( CardName ) VALUES( @CardName )
SET @err=@@error
SET @iFlag = -1
IF 条件
SET @iFLag = 1
ELSE 条件
SET @iFlag = 1 IF @err<>0 AND @iFlag=-1
BEGIN
ROLLBACK TRANSACTION
END
ELSE
BEGIN
COMMIT TRANSACTION
END