频道栏目
首页 > 数据库 > SQL Server > 正文
Sql中的set和select赋值方式的区别?
2015-04-24 10:20:13      个评论    来源:X-rapido的专栏  
收藏   我要投稿

 

T-SQL中的变量分为局部变量和全局变量,局部变量的使用也是先声明,再赋值。而全局变量由系统定义和维护,我们可以直接使用,但是一般不定义全局变量。

局部变量

在T-SQL中,局部变量的名称必须以标记@作为前缀。

Declaer @variable_name DataType

其中@variable_name为变量名 DataType为数据类型。

局部变量的赋值有两种方法:使用Set语句或Select语句。

set @variable_name = value

Selecte @variable_name = value

? SET赋值语句一般用户赋给变量指定的数据变量

? Select赋值语句一般用于表中查询数据,然后查询的记录多于一条,将把最后一条记录的值赋给变量

 

Set

Select

同时对多个变量赋值

不支持

支持

表达式返回多个值

出错

将返回的最后一个值赋给变量

表达式未返回值

变量被赋值为NULL值

变量保持原值

建议使用Set,原因是因为Set语句没有结果,占用资源少,因此,给一个变量赋值时,使用Set效率更高。


\

 

注意:SELECT 也可以将标量子查询的值赋给变量,如果标量子查询不返回值,则变量被置为 null 值(此时与使用 SET 赋值是完全相同的)。
对标量子查询的概念大家可能觉得陌生,下面举个例子说明下(对比上面绿色部分):

declare @name varchar(128)
set @name = 'SELECT初始值'
select @name =(select name from fuzhiTEST where id = 4 )
print @name --正确运行:显示NULL
GO

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 方式
上一篇:游戏测试中的sql语句
下一篇:sql的简单提高效率方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站