当前位置: 代码迷 >> Sql Server >> 向请问SQL 带事务的有关问题
  详细解决方案

向请问SQL 带事务的有关问题

热度:82   发布时间:2016-04-27 13:23:37.0
向各位高手请教SQL 带事务的问题
使用SQL Server数据库现在要在Del(int id)里写根据id删除用户,要求带有事务,删除成功提交,删除失败要回滚,希望能得到帮助。

------解决方案--------------------
你把删除语句放事务里。
------解决方案--------------------
BEGIN TRAN 
DELETE 。。
IF @@ERROR=0
BEGIN
COMMIT
END
ELSE
ROLLBACK
------解决方案--------------------
SQL code
declare @id intbegin tran   delete tableName where [email protected]   if(@@error<>0)       rollback tran   else       commit tran
------解决方案--------------------
begin Transaction
begin Try

----------------------------------
delete from 表名 where 条件
---------------------------------
commit Tran

end Try
begin Catch

rollback Tran

declare @sTemp varchar(1000)
select @sTemp=ERROR_MESSAGE()
raiserror(@sTemp,16,1)

end Catch
------解决方案--------------------
SQL代码关键词:
 事务(transaction),
 提交(commit),
 回滚(rollback),
 开始(begin),
 结束(end).
------解决方案--------------------
探讨
BEGIN TRAN
DELETE 。。
IF @@ERROR=0
BEGIN
COMMIT
END
ELSE
ROLLBACK

------解决方案--------------------
SQL code
--2005 & 2008Begin Try    Begin tran        --SQL 語句(Insert\Update\Delete)                Commit TranEnd TryBegin Catch    Declare @Error nvarchar(2047)    Set @Error=Error_message()    Raiserror 50001 @Error    Rollback TranEnd CatchGo--2000begin tran    --單條 SQL 語句(Insert\Update\Delete)    If @@ERROR <>0        Goto ErrFlag    --單條 SQL 語句(Insert\Update\Delete)    If @@ERROR <>0        Goto ErrFlag        --單條 SQL 語句(Insert\Update\Delete)    If @@ERROR <>0        Goto ErrFlagCommit TranGoto ExitFlag            ErrFlag:    Rollback TranExitFlag:
  相关解决方案