331 votes

T-SQL - SET versus SELECT lors de l'attribution de variables?

Quelles sont les différences entre les instructions SET et SELECT lors de l'attribution de variables dans T-SQL?

174voto

Joe Stefanelli Points 72874

Je crois que SET est la norme ANSI alors que le SELECT ne l'est pas. Notez également le comportement différent de SET vs. SELECT dans l'exemple ci-dessous lorsqu'une valeur est introuvable.

 declare @var varchar(20)
set @var = 'Joe'
set @var = (select name from master.sys.tables where name = 'qwerty')
select @var /* @var is now NULL */

set @var = 'Joe'
select @var = name from master.sys.tables where name = 'qwerty'
select @var /* @var is still equal to 'Joe' */
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X