存储过程修改!

xiao_xi_ 2010-07-01 01:36:07
update ele_cardnum set cardnum = @cardnum where cardid=@cardid,
怎样判断update是否修改成功?是在存储过程中!
...全文
27 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
thinclient 2010-07-01
  • 打赏
  • 举报
回复
更看以下的SQL SERVER文档:
 
@@ROWCOUNT
返回受上一语句影响的行数。

语法
@@ROWCOUNT

返回类型
integer

注释
任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。

示例
下面的示例执行 UPDATE 语句并用 @@ROWCOUNT 来检测是否有发生更改的行。

UPDATE authors SET au_lname = 'Jones'
WHERE au_id = '999-888-7777'
IF @@ROWCOUNT = 0
print 'Warning: No rows were updated'


请参见

@@ERROR

系统函数
冷箫轻笛 2010-07-01
  • 打赏
  • 举报
回复

begin try
update ele_cardnum set cardnum = @cardnum where cardid=@cardid,
--如果确实修改了数据
if @@rowcount > 0
begin
....
end
end try
begin catch
--更新语句报错了
end catch


thinclient 2010-07-01
  • 打赏
  • 举报
回复
更正, 是@@ROWCOUNT
thinclient 2010-07-01
  • 打赏
  • 举报
回复
如果系统变量@@row_count的值大于0,就成功了

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧