欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【转载】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技术小趣屋