sql中的set和select赋值方式的区别?
来源:互联网 发布:淘宝江南商学院怎么样 编辑:程序博客网 时间:2024/06/08 17:55
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
- Sql中的set和select赋值方式的区别?
- sql中的set和select赋值方式的区别?
- SQL赋值SET和SELECT的区别
- SQL Server中SET赋值和SELECT赋值的区别
- SQL中SET和SELECT赋值的区别
- SQL中SET和SELECT赋值的区别
- SQL中SET和SELECT赋值的区别
- sql server中SELECT 与 SET 赋值的区别
- sql server中SELECT 与 SET 赋值的区别
- SQL中SET与SELECT赋值的区别详解
- SQL中SELECT和SET的区别
- SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT。
- mysql set赋值与select into 赋值的区别
- sql server 中 SET 与 SELECT 赋值区别
- set 与select 赋值区别
- sql server存储过程中SELECT 与 SET 对变量赋值的区别
- sql server存储过程中SELECT 与 SET 对变量赋值的区别
- SQL存储过程中SELECT与SET 对变量赋值的区别
- 关于新浪微博第三方登陆成功直接获取code值
- 6_38_二叉树的后序遍历非递归算法(和先序有些许不一样)
- 安装memcached
- BZOJ1053反素数
- 系统的思考性能问题
- sql中的set和select赋值方式的区别?
- 二叉树及其性质
- 输出字符串中的数字 并进行排序
- 6_39_二叉树增加两个域不用栈进行递推后序遍历树
- shadowsocks 配置
- 青蛙爬台阶问题的三种解法@python
- 6_41_递归求出二叉树先序遍历第k个节点的元素的值
- c#如何在多线程中访问Form中控件的多种解决方案(收集)
- tomcat绑定域名