SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值。
当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法。
下表列出 SET 与 SELECT 的区别。请特别注意红色部分。
代码如下 | 复制代码 |
/****************** 场景布置 ******************/
-----角色2: -----角色3: |
实例
为说明其差别,建立一张数据表,插入几条数据
代码如下 | 复制代码 |
insert into tblStudent(id,name) values('2008110101','张三'); |
1.select可以同时给多个变量赋值,set只能给一个变量赋值
情况1:
代码如下 | 复制代码 |
declare @variable1 int,@variable2 int Msg 102, Level 15, State 1, Line 4 |
情况2:
declare @variable1 int,@variable2 int Command(s) completed successfully
set @variable2=1
set @variable2=2
select @variable1=1,@variable2=2 正常通过
.
2.当返回值为多行时,select不会出错,set要报错
代码如下 | 复制代码 |
declare @id nvarchar(10) print 'set赋多返回值:' |
错误码中Subquery returned more than 1 value.(即子查询返回超过一个值)
3.当无返回值时,set不为变量赋值,select赋值为NULL
代码如下 | 复制代码 |
--使用set赋空返回值 SET @id = --使用select赋空返回值 SELECT @id = name --使用select赋值时,当查询无返回值时就不为变量赋值,变量保持以前的值即'无值' |
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔