34,838
社区成员




create table tb(s int)
BEGIN TRANSACTION
exec('insert into tb select 1')
exec('insert into tb select ''a''')
if @@error<>0
rollback TRANSACTION
else
COMMIT TRANSACTION
select * from tb
/**//* ------- 事务开始 ---------- */
BEGIN TRANSACTION tran_test
if @type ='Vendition'
begin
--备份主表(Vendition_Data)
exec('insert into cang_back.dbo.vendition_data select * from vendition_data1 '+@where) --此处会出错
end
/**//*--------- 判断是否有错误 ----------*/
IF ( @@ERROR <> 0 )
BEGIN
/**//*---------- 自定义错误输出 ----------*/
RAISERROR( 'Insert data error!',16,1 )
/**//*-------- 事务回滚 --------*/
ROLLBACK TRANSACTION tran_test
select -1 as reuslt
end
else
/**//*---------- 提交事务 ------------*/
COMMIT TRANSACTION tran_test
END
BEGIN TRANSACTION tran_test
if @type ='Vendition'
begin
--备份主表(Vendition_Data)
exec('insert into cang_back.dbo.vendition_data select * from vendition_data1 '+@where) --此处会出错
end
/**//*---------- 提交事务 ------------*/
if @@error<>0
rollback TRANSACTION tran_test
else
COMMIT TRANSACTION tran_test