mssql sqlserver SET和SELECT变量赋值关键字的应用场景说明


摘要:
下文讲述set和select变量赋值关键字的用法,如下所示:
实验环境:sql server 2008 R2

下文将通过举例的形式将数值赋值给变量

create table [maomao365.com](keyId int identity,
info varchar(80))
go
---生成基础数据
insert into [maomao365.com](info)values
('sqlserver'),('sqlblog'),(N'猫猫小屋')
go

---使用set 获取一行数据
declare @info varchar(80)
set @info =(select info from 
[maomao365.com] where keyId =2
)
print '-1:--'
print @Info

go
---使用set 获取多行数据
---将会输出相应的错误信息
declare @info varchar(80)
set @info =(select info from 
[maomao365.com] 
) 
print '-2:--'
print @Info
go


-- 使用select获取单行数值
declare @info varchar(80)
 select  @info= info from 
[maomao365.com] where keyId =2
 
print '-3:--'
print @Info
GO

-- 使用select获取多行数值
declare @info varchar(80)
 select @info = info from 
[maomao365.com]  
  
print '-4:--'
print @Info
GO


declare @keyid int
declare @info varchar(80)
 select @keyid=keyId,@info=info from 
[maomao365.com]  
 
print '-4:--'
print @Info
go



go
truncate table [maomao365.com]
drop     table [maomao365.com]


使用SET的情景:
直接赋值,不需要任何查询
使用SELECT的情景:
同时对多个变量赋值,例:事务编写时,需同时获取@@ROWCOUNT和@@ERROR值
通过select查询对变量进行赋值