最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
SQL Server中使用set和select赋值时一些比较区别
时间:2022-06-29 08:13:26 编辑:袖梨 来源:一聚教程网
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赋值时,当查询无返回值时就不为变量赋值,变量保持以前的值即'无值' |
|
相关文章
- linux一窜数字后面的逗号怎么去掉? 09-26
- linux重置密码提示与用户名相似该怎么解决? 09-26
- linux系统怎么挂载光驱? 09-26
- 分享20个 Unix/Linux 命令技巧 09-26
- Linux集群内SSH免密码访问的快速配置方法 09-26
- deepin怎么禁止自动锁屏? 09-26