Sql语句中使用select给变量赋值时,不会初始化变量的值,即如果查询不到记录时变量的值并不为空,而是等于上一次赋的值。千万要注意,特别是在游标中使用变量判断数据时。
如下图,库存表中的数据
sql语句执行结果
解决办法,如下图:
细想一下,确实是这样,因为查询不到数据时select 赋值并没有执行,所以不会赋空值。