我在存储过程中要调用n个别的存储,一个存储不成功,就要回滚,改如何来作呢?CREATE PROCEDURE OnlineHanding
@UserName VARCHAR( 50 ),
@ContractID UNIQUEIDENTIFIER
ASBEGIN TRANSACTIONDECLARE @ErrMessage BIT
-----第一步处理不合格数据
EXEC OnlineCheckData @UserName ------更新 MST_AirlineId 和 FraeGoupID ,RoutingI,以及检查和插入Routing和插入相关的表AirPortGroup,AirPortElement
EXEC OnlineUpdateData @UserName, @ContractID ,@ErrMessage OUTPUT--其他的操作.................IF @@ERROR = 0
COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION
--这句delete是一定要做的
DELETE OnlineTempTable WHERE Operator = @UserName
GO
@UserName VARCHAR( 50 ),
@ContractID UNIQUEIDENTIFIER
ASBEGIN TRANSACTIONDECLARE @ErrMessage BIT
-----第一步处理不合格数据
EXEC OnlineCheckData @UserName ------更新 MST_AirlineId 和 FraeGoupID ,RoutingI,以及检查和插入Routing和插入相关的表AirPortGroup,AirPortElement
EXEC OnlineUpdateData @UserName, @ContractID ,@ErrMessage OUTPUT--其他的操作.................IF @@ERROR = 0
COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION
--这句delete是一定要做的
DELETE OnlineTempTable WHERE Operator = @UserName
GO
解决方案 »
- T-SQL 代码折叠的问题
- asp网站
- help 系统重做 mdf 文件丢失
- SQL Server2005 数据库作业中 如何用ActiveX脚本定时打开指定的页面呢?
- 【请教】在win2k下装的SQLServer,在win2003下用,只用查询分析器,可以用,但问题是关键字没有变颜色,都是黑色.
- 求一条SQL语句????????????????
- 简单case语句问题?
- 大家一起讨论一下怎么控制版本的
- 急急急!!!!!!!!11复制同步时出现“在 BCP 数据文件中遇到的意外的 EOF”???
- 请高手帮忙!!!
- (没分了)不过真心地请大家到这里,看一下常见的问题。因为我在网上找不到案,所以列上来,让大家帮忙一下!谢谢!在线!
- SQL2005 CPU资源占用几乎100%是什么原因
@UserName VARCHAR( 50 ) ,
@ContractID UNIQUEIDENTIFIER ,
@ErrMessage BIT OUTPUT,
@RollBackFalg INT OUTPUT
AS -----更新 MST_AirlineId 和 FraeGoupID
UPDATE OnlineTempTable
SET MST_AirlineId = dbo.GetAirlineIDByAirCode( OAIR ) , FraeGoupID = dbo.GetFBGroupID( FB,@ContractID )
WHERE Operator = @UserName --AND Error <> 'N' IF @@ERROR<>0 SET @RollBackFalg=1
---在此语句出错就返回,如何写呢,我就是设RollBackFalg=1,就返回到的调用此存储的存储,然后根据RollBackFalg进行rollback
INSERT INTO .......Go谢谢!
就rollback