SQL Server 2017从零开始学(视频教学版)
上QQ阅读APP看书,第一时间看更新

4.4.2 数据赋值SET语句

SET命令用于对局部变量进行赋值,也可以用于用户执行SQL命令时设定SQL Server中的系统处理选项,SET赋值语句的语法格式如下:

     SET {@local_variable = value | expression}
     SET 选项 {ON | OFF}

第一条SET语句表示对局部变量赋值,value是一个具体的值,expression是一个表达式;第二条语句表示对执行SQL命令时的选项赋值,ON表示打开选项功能,OFF表示关闭选项功能。

SET语句可以同时对一个或多个局部变量赋值。

SELECT语句也可以为变量赋值,其语法格式与SET语句格式相似。

     SELECT {@local_variable = value | expression}

提示

在SELECT赋值语句中,当expression为字段名时,SELECT语句可以使用其查询功能返回多个值,但是变量保存的是最后一个值;如果SELECT语句没有返回值,则变量值不变。

【例4.20】查询stu_info表中的学生成绩,并将其保存到局部变量stuScore中,输入语句如下。

     DECLARE @stuScore INT
     SELECT  s_score FROM stu_info
     SELECT  @stuScore  = s_score FROM stu_info
     SELECT  @stuScore AS Lastscore

代码执行结果如图4-15所示。

由图4-15可以看到,SELECT语句查询的结果中最后一条记录的s_score字段值为88,给stuScore赋值之后,其显示值为88。

图4-15 使用SELECT语句为变量赋值