CREATE PROCEDURE 存储过程名
(
参数 类型
)
AS
declare ins_error int,@info_id int --定义变量
BEGIN TRAN t1 --显示本地事务的起始点,t1为该事务名
insert into 表(字段) values(参数)
SELECT @ins_error = @@ERROR --@@ERROR为返回最后执行的 Transact-SQL 语句的错误代码。
IF @ins_error = 0
BEGIN
COMMIT TRAN --标志一个成功的隐性事务或用户定义事务的结束
set 变量=值 --执行复值语句
END
ELSE
BEGIN
ROLLBACK TRAN t1 --回滚到该事物起点,将显式事务或隐性事务回滚到事务的起点或事务内的某个保存点。
END
BEGIN TRAN t2 --t2为事务名
insert into 表(字段) values(值)
SELECT @ins_error = @@ERROR --返回错误信息
IF @ins_error = 0 --为0为无错误
BEGIN
COMMIT TRAN
END
ELSE --否则
BEGIN
ROLLBACK TRAN t1 --回滚到事务t1
END
GO