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