今天遇到一个错误,自己一直没有意思到这样写是错误的。

在游标循环过程中使用变量要注意

declare @a;

select @a = column1 from table1 where column2 = '123'

if @a is null

begin

end

 

原以为如果找不到'123'的记录,变量@a 会被赋成null,可事实上,@a 会保留上一次loop取到的有效值(即非null的历史值)

应该改为

set @a = select column1 from table1 where column2 = '123'

这样才能在找不到记录时正确将@a设置为null....

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-20
  • 2022-12-23
  • 2021-06-26
  • 2022-12-23
猜你喜欢
  • 2022-02-06
  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-24
相关资源
相似解决方案