[Transact-SQL]Comment stocké le resultat d'une requête dans une variable
Bonjour,
Je cherche à savoir si il est possible dans une procédure stockée, de stocker dans une variable le résultat d'une requête :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Bertrand, LODS>
-- Create date: <10/09/2009>
-- Description: <récupérer les informations d'une maitrise en fonction du nom_maitrise>
-- =============================================
ALTER PROCEDURE [dbo].[Projet_Kelio_PS_Select_Info_Maitrise]
-- Add the parameters for the stored procedure here
@nom_maitrise varchar(50),
@ordre_maitrise int,
@num_secteur int
AS
BEGIN
DECLARE @id_nouvelle_maitrise int
IF (
SELECT COUNT(*)
FROM Projet_Kelio_Maitrise as PKM
WHERE nom_maitrise=@nom_maitrise
)=0
BEGIN
PRINT 'pas de maitrise correspondante'
INSERT INTO Projet_Kelio_Maitrise
(
nom_maitrise,
ordre_maitrise
)
values
(
@nom_maitrise,
@ordre_maitrise
)
SET @id_nouvelle_maitrise=SCOPE_IDENTITY()
PRINT @id_nouvelle_maitrise
END
ELSE
BEGIN
PRINT 'cette maitrise existe'
SET @id_nouvelle_maitrise =
SELECT id_maitrise
FROM Projet_Kelio_Maitrise
WHERE nom_maitrise=@nom_maitrise
END
END
GO |
dans mon exemple j'aimerai pouvoir stocker dans @id_nouvelle_maitrise la valeur renvoyé par :
Code:
1 2 3 4
|
SELECT id_maitrise
FROM Projet_Kelio_Maitrise
WHERE nom_maitrise=@nom_maitrise |
Est-ce possible ?
et si oui quel est la syntaxe.
Je continue mes recherches
Merci d'avance pour votre aide.