存储过程中判断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未更新
...全文
427 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
  • 打赏
  • 举报
回复
不知有没有直接的系统函数可以判断该条记录已经被更改?
或者更优秀的方法
渭河流域位于国黄河游地区,是黄河的重要一级支流流域,地理范围主要涵盖陕西省部、甘肃东部和宁夏部分地区。该流域自西向东延伸,总长约818公里,流域面积广阔,人口密集,是我国重要的农业与工业带,同时也是西北地区经济、文化与生态发展的核心区域之一。渭河流域水系发育完善,除干流外,还包括泾河、洛河、沣河、滈河等多条支流,构成了完整的河网体系,对黄河流域的水资源调配与生态安全具有重要意义。 本数据集提供了渭河流域矢量边界及河流分布的标准化shp文件,包含以下文件: (1)可编辑MXD文件:可直接在 ArcGIS 打开,用户可进行二次编辑、专题制图及空间分析,方便科研、教学与管理应用。 (2)标准SHP文件:包含渭河流域边界矢量数据以及干流与主要支流的矢量化河流线条,属性表附带河流名称、流域隶属等信息,便于查询与叠加分析。 (3)标准成图TIF文件:输出高清、规范的地图成果,能够直观展示渭河流域整体边界与内部河流分布格局,可用于汇报、展示与出版。 本资源可广泛应用于流域水资源管理、生态环境保护、土地利用研究、洪涝灾害评估等领域,同时也能为流域综合治理、生态修复规划、水文模拟与地理建模提供基础支撑。通过与其他数据(如DEM、土地覆盖、气象数据)叠加使用,还能开展更加深入的多源数据分析,为黄河流域高质量发展与区域生态安全提供科学依据。

34,871

社区成员

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

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