您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

@@ROWCOUNT全局变量

2024/4/27 20:52:35发布13次查看
返回上一语句受影响的行数!和@error一样的特性,在每一条语句执行后都将被重置,如果将来使用需要将变量保存到局部变量中。任何不返回的语句都将这个变量置为0!比如经常使用的if语句。废话少说,上代码! declare @rowcountvar int update af_caroil set oilt
返回上一语句受影响的行数!和@error一样的特性,在每一条语句执行后都将被重置,如果将来使用需要将变量保存到局部变量中。任何不返回的语句都将这个变量置为0!比如经常使用的if语句。废话少说,上代码!
declare @rowcountvar int
update af_caroil set oiltype = '五号汽油'--执行后@@rowcount为2
set @rowcountvar = @@rowcount --执行后@@rowcount为1
if @@rowcount = 1 --执行后@@rowcount为0
begin
print '影响的行数为1'
print @@rowcount
end
if @rowcountvar 0
begin
print '受影响的行数为:' + str(@rowcountvar)
end
-----------------------------------------------------------------
(2 行受影响)
影响的行数为 1
0
受影响的行数为: 2
分析:上面的代码中在执行update语句之后,受影响的行数为2行,然后将受影响的行数保存到事先声明的局部变量中,赋值语句实际上影响的行数为1行,在下面的if语句中进行了跳转,,这个地方是关键,这并不是update语句受影响的行数是1,而是将@@rowcount将的赋给局部变量的过程中变成了1。在执行后if @@rowcount = 1的判断之后@@rowcount的数值重新被赋值为了0!
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录