sql server存储过程中SELECT 与 SET 对变量赋值的区别

Posted sundy blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server存储过程中SELECT 与 SET 对变量赋值的区别相关的知识,希望对你有一定的参考价值。

SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT。 
对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们 
并没有注意,其实这两种方式还是有很多差别的。

SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值。 
当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法。

下表列出 SET 与 SELECT 的区别。请特别注意红色部分。

 

  set select
同时对多个变量同时赋值 不支持 支持
表达式返回多个值时 出错 将返回的最后一个值赋给变量
表达式未返回值 变量被赋null值 变量保持原值

以上是关于sql server存储过程中SELECT 与 SET 对变量赋值的区别的主要内容,如果未能解决你的问题,请参考以下文章

如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?

SQL server学习——T-SQL编程之存储过程

SQL Server用存储过程新建视图

SQL Server交叉表应用示例

SQL SERVER 存储过程中SELECT 返回值如何赋值给变量

SQL Server - SELECT FROM存储过程