En T-SQL, SET et SELECT permettent d’assigner des valeurs à des variables. Il existe cependant des différences entre ces deux opérateurs. Voyons ça.
- SET permet d’assigner une valeur à la fois. SELECT permet d’en assigner plusieurs valeurs d’un coup.
ex:
... set @empName = 'toto' select @employeeId = 1, @employeeTitle = 'mr.' select @empName, @employeeId, @employeeTitle
Affiche
set @employeeId = (SELECT EmployeeID from Employees)
set @employeeId = 10 set @employeeId = (SELECT EmployeeID from Employees WHERE EmployeeID = -1) select @employeeId --affiche NULL set @empName = 'toto' select @empName = FirstName FROM dbo.Employees WHERE EmployeeID = -1 select @empName -- affiche toto
Voilà. Vous êtes au courant de cette subtilité qui vous évitera bien des bugs dans vos procédures stockées.
source : Stack Overflow
Laisser un commentaire