小编典典

分配变量时的 SET 与 SELECT?

all

SET在 T-SQL 中分配变量时和SELECT语句有什么区别?


阅读 90

收藏
2022-04-18

共1个答案

小编典典

引用,从这篇文章中总结:

  1. SET 是变量赋值的 ANSI 标准,而 SELECT 不是。
  2. SET 一次只能分配一个变量,SELECT 可以一次进行多个分配。
  3. 如果从查询分配,SET 只能分配一个标量值。如果查询返回多个值/行,则 SET 将引发错误。SELECT
    会将其中一个值分配给变量并隐藏返回多个值的事实(因此您可能永远不知道为什么其他地方出了问题 - 有乐趣解决那个问题)
  4. 当从查询中分配时,如果没有返回值,则 SET 将分配 NULL,其中 SELECT 根本不会进行分配(因此变量不会从其先前的值更改)
  5. 至于速度差异 - SET 和 SELECT 之间没有直接差异。然而,SELECT 在一次拍摄中完成多项任务的能力确实使它比 SET
    具有轻微的速度优势。
2022-04-18