Vous pouvez utiliser l'affectation SELECT pour affecter plusieurs variables. Ce code génère une seule ligne de constantes et affecte chacune à une variable.
SELECT
@var1 = 1,
@var2 = 'Zeus'
Vous pouvez même les tables requête et faire cession de cette façon:
SELECT
@var1 = c.Column1,
@var2 = c.Column2,
FROM
Customers c
WHERE c.CustomerID = @CustomerID
Attention: Ce code fonctionne comme une boucle while.
- S'il y a plusieurs lignes, chaque ligne sera affectée aux variables et la dernière ligne sera celle qui reste à l'intérieur. Si vous n'avez pas spécifié de commande, vous avez abandonné le contrôle sur la rangée qui sera la dernière rangée.
- S'il n'y a pas de lignes, les variables ne seront pas affectées du tout. Les variables ne seront pas définies sur null - elles resteront inchangées. C'est un problème clé si l'affectation est effectuée dans une boucle (ce qui entraîne généralement une boucle infinie car les variables ne changent jamais).
Préférez utiliser l'affectation SET plutôt que l'affectation SELECT. N'utilisez l'affectation SELECT qu'en considérant les deux scénarios ci-dessus.
Parfait, merci! – jandersson