Comment affecter plusieurs valeurs de requête de sélection dans des variables déclarées dans une procédure stockée

Comment affecter plusieurs valeurs de requête de sélection dans des variables déclarées dans une procédure stockée?

Cela marche

SELECT @id = USER_ID FROM USERS WHERE EMAIL=@EMAIL 

mais j'ai besoin de quelque chose comme ça

 SELECT @id = USER_ID, @corp = CORPORATE_ID FROM USERS WHERE EMAIL = @EMAIL 

requête ci-dessus ne fonctionne pas (ce qui signifie que je ne peux pas atsortingbuer plusieurs valeurs), est-il possible de rendre possible cette chose?

Merci d'avance….

Je ne sais pas ce que vous faites – mais sélectionner plusieurs valeurs et les affecter à plusieurs variables dans T-SQL fonctionne très bien – à l'intérieur ou à l'extérieur d'une procédure stockée.

Si vous avez l'exemple de database AdventureWorks – essayez ceci:

 CREATE PROCEDURE dbo.GetAddressTypeDetails (@AddressTypeID INT, @Name VARCHAR(50) OUTPUT, @Modified DATETIME OUTPUT) AS BEGIN SELECT @Name = Name, @Modified = ModifiedDate FROM [Person].[AddressType] WHERE [AddressTypeID] = @AddressTypeId END 

puis exécutez cette procédure stockée comme ceci:

 DECLARE @AddressTypeID INT DECLARE @Name VARCHAR(50) DECLARE @Modified DATETIME -- TODO: Set parameter values here. SET @AddressTypeID = 5 EXECUTE [dbo].[GetAddressTypeDetails] @AddressTypeID, @Name OUTPUT, @Modified OUTPUT SELECT @Name, @Modified 

et vous obtiendrez la sortie de

 Shipping 2002-06-01 00:00:00.000 

Pas de problèmes ici …