IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

[Transact-SQL]Comment stocké le resultat d'une requête dans une variable


Sujet :

Développement SQL Server

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut [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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Points : 309
    Points
    309
    Par défaut
    Bonjour,

    En lisant ce post :

    http://www.developpez.net/forums/d39...sql-test-null/

    J'ai vu ou était mon erreur, il faut mettre entre parenthèse la requête avant d'en stocker la valeur dans la variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SET @id_nouvelle_maitrise =
    						(SELECT id_maitrise 
    						FROM Projet_Kelio_Maitrise
    						WHERE nom_maitrise=@nom_maitrise )
    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  2. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  4. Réponses: 2
    Dernier message: 02/06/2006, 11h26
  5. Réponses: 4
    Dernier message: 01/12/2005, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo