【转载】Sqlserver存储过程中使用Select和Set给变量赋值
程序员文章站
2022-03-20 13:09:14
Sqlserver存储过程是时常使用到的一个数据库对象,在存储过程中会使用到Declare来定义存储过程变量,定义的存储过程变量可以通过Set或者Select等关键字方法来进行赋值操作,使用Set对存储过程变量赋值为直接赋值,使用Select则一般从数据表中查找出符合条件的属性进行赋值操作。 例如, ......
sqlserver存储过程是时常使用到的一个数据库对象,在存储过程中会使用到declare来定义存储过程变量,定义的存储过程变量可以通过set或者select等关键字方法来进行赋值操作,使用set对存储过程变量赋值为直接赋值,使用select则一般从数据表中查找出符合条件的属性进行赋值操作。
例如,下面定义一个存储过程年龄字段@age字段。
declare @age int;
使用set方式赋值的语句可写作为:set @age=32;
如果我们要从表usertable中查找出名字为张三的人的年龄,然后将之赋值给@age变量,就得使用select方式来赋值了,赋值方式如下:
select @age=age from usertable where name='张三';
此处使用select进行赋值的话需要注意个点,select查询语句一条记录都没查找出来,@age字段将不会有任何改变,也不会赋值为null,这个情况博主在实际业务中遇到过,就是使用了while循环,然后在循环中采用select对特定变量赋值,发现如果select查询集合为空集的时候,变量值不是赋值为null,而是直接保持上一次循环赋值的结果。
备注:原文转载自博主个人站it技术小趣屋,原文链接sqlserver存储过程中使用select和set给变量赋值_it技术小趣屋。
上一篇: 营养都在汤里