事务能不能用一个存储过程来完成?

来源:百度知道 编辑:UC知道 时间:2024/05/22 01:34:19
事务能不能用一个存储过程来完成?

可以
在存储过程中:
CREATTE PROCEDURE MYPROCEDURE
AS
BEGIN TRANSACTION--开始一个事务
UPDATE TABLENAME SET ABC='DEF' WHERE ......--操作
IF @@ERROR>0--操作如果失败
BEGIN
ROLLBACK TRANSACTION--回滚
RAISERROR('更改数据失败!',16,1)--向前台报错
RETURN--返回,不再继续执行
END
ELSE
COMMIT TRANSACTION--操作成功,确认所作修改
GO