当前位置:  开发笔记 > 数据库 > 正文

删除查询在SQL Server中不起作用

如何解决《删除查询在SQLServer中不起作用》经验,为你挑选了1个好方法。

这很奇怪,但我的SQL Server不会删除项目:

我有一个这样的存储过程:

Create Procedure DeleteItem @cnm nchar(10)
as
    Begin Transaction 
       Delete From T1 where Cnm = @cnm
       Delete From T2 where Cnm = @cnm

       if @@ERROR <> 0 
       Begin
          Commit
       End
       Else
       Begin
           RollBack
       End

当我在SQL Server Management Studio中运行此查询时:

Exec DeleteItem '1111111111'

它在Messages窗格中返回:

(1 row(s) affected)
(1 row(s) affected)

但是当我从那些表中获取数据时,删除的记录仍然存在!

我做错了吗?



1> Pரதீப்..:

@@ERROR返回0如果前面的Transact-SQL语句中遇到任何错误.

改变你的IF状况

if @@ERROR = 0
Commit
else 
.... 

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有