存储过程中判断Update是否执行有效,提供了我自己的想法,欢迎大家指导

CnEve 2006-07-25 03:24:08
如:update tab set a = 1 where id = 122
在存储过程中执行了这样的更新,并有效判断此更新是否生效,我当前的方法是:

create proc sp_test @a int, @id int as
declare @aa int
select @aa = a from tab where id = @id --先取出未更新前的a值
update tab set a = @a where id = @id --执行更新
if @@error=0 and @aa!=@a
--字段a更新成功
else
--a未更新
...全文
410 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qpgsd 2006-07-26
  • 打赏
  • 举报
回复
MARK
CnEve 2006-07-25
  • 打赏
  • 举报
回复
谢谢各位的参与
nann32258 2006-07-25
  • 打赏
  • 举报
回复
废话很多,呵呵。只要@@RowCount > 0 And @@Error = 0 就行了。这种牛角 问题就不要钻了,有时间多研究下SQL的原理吧。
lzhs 2006-07-25
  • 打赏
  • 举报
回复
if @@error=0 and @aa<>@a and @@rowcount<>0
=====================
这样的也不严谨,请看下面的语句,别忘了B如果原始为NULL:

Create Table #Temp(A int,B int)
Insert Into #Temp Values(1,Null)

Declare @a int
Set @a = 1

declare @aa int
select @aa = B from #Temp where A = 1 --先取出未更新前的a值

update #Temp set B = @a where A = 1 --执行更新

if @@error=0 and @aa<>@a and @@rowcount<>0
print 'S'
else
print 'F'

Drop Table #Temp
==================

可行的方法之一是在给@aa赋值时,加上IsNULL()处理。
而且,如果@a为NULL也在考虑之列!
xyxfly 2006-07-25
  • 打赏
  • 举报
回复
小飞猪的 不错...
呵呵,差不多了吧~
Awriter 2006-07-25
  • 打赏
  • 举报
回复
if @@error=0 and @@rowcount!=0

就可以了吧!
CnEve 2006-07-25
  • 打赏
  • 举报
回复
小飞猪的比较严谨,还有好的吗
billpu 2006-07-25
  • 打赏
  • 举报
回复
if @@error=0 and @aa<>@a and @@rowcount<>0 --防止更新数据相同
...
gahade 2006-07-25
  • 打赏
  • 举报
回复
@@rowcount
--返回受上一语句影响的行数。

update tab set a = @a where id = @id --执行更新
if @@rowcount > 0
print '更改成功'
LouisXIV 2006-07-25
  • 打赏
  • 举报
回复
if @@error=0 and @@rowcount!=0
CnEve 2006-07-25
  • 打赏
  • 举报
回复
不知有没有直接的系统函数可以判断该条记录已经被更改?
或者更优秀的方法
WPS Office 2019 是一款功能丰富的办公软件套装,它整合了文字、表格、演示、PDF 等组件,具备体积小巧、功能丰富、兼容性强等特点,能满足日常办公的多种需求。 功能组件丰富:包含 WPS 文字、WPS 演示、WPS 表格、WPS PDF 等组件,可用于文档编辑、表格计算、幻灯片制作、PDF 处理等,支持 DOC、DOCX、XLS、XLSX、PPT 等多种格式,能与 Microsoft Office 较好地兼容。 支持云存储与协作:用户登录 WPS 账号后,可实现多终端、跨平台的数据同步,还能与他人协同办公,文档可通过微信、QQ 等社交平台一键分享。 PDF 功能强大:提供沉浸式 PDF 阅读体验和稳定的编辑服务,支持一键编辑 PDF 文档内容。借助 OCR 技术,可精准转换文档、表格、PPT、图片等格式的文件。 界面设计优化:具有全新视觉设计,默认皮肤舒适清爽,还支持桌面背景、界面字体、皮肤、格式图标等个性化设置。同时,文档标签可拖拽成独立窗口或合并,用户可自主选择文档显示方式,还能将文件放置在不同工作区,便于分类浏览与管理。 内置实用工具:内置了简单的网页浏览器,点击文档的链接会默认用其打开,可进行网页添加到首页、另存为 PDF 等操作。此外,“应用心” 集成了输出转换、文档助手、安全备份等多种实用功能。 模板资源丰富:稻壳商城提供了大量模板、范文、图片等素材资源,涵盖求职简历、总结计划、合同协议等常见文档类型,方便用户快速创建专业文档。 表格功能特色突出:支持通过关键词快速切换工作表,设有阅读模式和护眼模式。还可分类合并单元格,以及拆分合并单元格并填充内容。公式编辑器可轻松完成公式嵌套,筛选时可通过 “仅筛选此项” 一步完成特定值筛选,还能根据筛选条件生成动态分析图表。另外,“特色功能” 和 “智能工具箱” 菜单包含 PDF

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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