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 …