34,872
社区成员
 发帖
 与我相关
 我的任务
 分享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