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 :

INSERT et SELECT en même temps sur une table


Sujet :

Développement SQL Server

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 72
    Points : 34
    Points
    34
    Par défaut INSERT et SELECT en même temps sur une table
    Bonjour,

    je tiens à demander votre aide sur cette question, en l'occurrence récupérer des données qu'on vient juste d'insérer dans une table.
    Ma procédure stockée insère deux lignes et les récupère juste après pour insérer une autre ligne qui est la somme de ces dernières.

    Mon problème est que les deux premiers INSERT marchent mais le troisième me renvoie une valeur null : pas la somme que j'attends.

    Voilà le corps de ma procédure :
    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
    ALTER PROCEDURE essai 
     
    AS
    BEGIN
     
    INSERT INTO [REPERES-DW].[dbo].[Table_1]
               ([id]
               ,code
               ,[valeur])
         VALUES
               (1
               ,'A'
               ,5)
     
     
    INSERT INTO [REPERES-DW].[dbo].[Table_1]
               ([id]
               ,code
               ,[valeur])
         VALUES
               (2
               ,'B'
               ,4)           
     
     --===========================================-
     
     declare @A as int
     select valeur from Table_1 where code = 'A'
     
     declare @B as int
     select valeur from Table_1 where code = 'B'
     
     
    INSERT INTO [REPERES-DW].[dbo].[Table_1]
               ([id]
               ,code
               ,[valeur])
       select  
     
               id,
               'C',
              (@A +@B  ) as valeur
     
            from Table_1  
     
     
    END
    GO
    Merci de m'aider s'il vous plaît.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 89
    Points
    89
    Par défaut
    Au lieu de :
    Citation Envoyé par xavier81 Voir le message
    declare @A as int
    select valeur from Table_1 where code = 'A'

    declare @B as int
    select valeur from Table_1 where code = 'B'
    il faut mettre :
    Citation Envoyé par xavier81 Voir le message
    declare @A as int
    select @A =valeur from Table_1 where code = 'A'

    declare @B as int
    select @B = valeur from Table_1 where code = 'B'
    Et tout marchera

    Une autre solution plus propre, mais un peu plus délicate à mettre en oeuvre,
    c'est de déclarer une variable table, et d'utiliser l'instruction Output dans la commande insert qui alimentera cette variable table,
    puis de l'interroger à la fin pour effectuer le cumul

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 72
    Points : 34
    Points
    34
    Par défaut
    ouh je te remercie bcp

    tout baigne dans l'huile

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

Discussions similaires

  1. [MySQL] recuperer la valeur posté a partir d'un select lui même basé sur une BBD
    Par nico le noob dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/08/2010, 17h51
  2. ID et CLASS en même temps sur une balise
    Par EIN-LESER dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 19/01/2009, 14h12
  3. Select via un dblink sur une table sql server
    Par Cathy dans le forum SQL
    Réponses: 11
    Dernier message: 06/08/2007, 19h10
  4. selection comlexe de champs sur une table
    Par allowen dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/03/2006, 15h00

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