一尘不染

分配变量时是SET还是SELECT?

sql

在T-SQL中分配变量时,SETSELECT语句之间有什么区别?


阅读 117

收藏
2021-05-05

共1个答案

一尘不染

Quote本文总结如下:

  1. SET是用于变量分配的ANSI标准,而SELECT不是。
  2. SET一次只能分配一个变量,SELECT可以一次进行多个分配。
    3.
    如果从查询分配,SET只能分配标量值。如果查询返回多个值/行,则SET将引发错误。SELECT会将值之一分配给变量,并隐藏返回了多个值的事实(因此您很可能永远都不知道为什么其他地方出了问题-
    有趣地对其中一个进行故障排除)
  3. 从查询分配时,如果没有返回值,则SET将分配NULL,而SELECT根本不会进行赋值(因此该变量将不会从其先前的值更改)
  4. 至于速度差异-SET和SELECT之间没有直接差异。但是,SELECT一次完成多个任务的能力确实使其速度比SET稍有优势。
2021-05-05