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

MS SQL Server Discussion :

[Débutant][PS] modifier un insert en update


Sujet :

MS SQL Server

  1. #1
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut [Débutant][PS] modifier un insert en update
    Salut,

    J'ai un insert dans un procédure stockée que je dois modifier en update. Avant de me lancer, c'est assez compliqué pour moi, je vous demande un peu d'aide .
    J'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO matable (monchamps)
    SELECT monchamps2
    FROM matable2
    WHERE mescondtions
    Comment le transformer en update :
    De plus, j'ai ce genre de chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO matable (monchamps)
    SELECT     case when monchamps2 = 33 then 1
                    when monchamps2 is null then 2
                    else 3 end
    FROM matable2
    WHERE mescondtions
    Là, je vois pas vraiment comment faire! En tout cas je ne vois pas comment lier l'update et ce genre de syntaxe même avec les exemples de SQLPro 21 et 23.

    Merci d'avance.
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE matable 
    set monchamps = 
    case when monchamps2 = 33 then 1 
           when monchamps2 is null then 2 
           else 3 
           end 
    FROM matable2 
    WHERE mescondtions
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Merci, je me doutais de la réponse (ça fait du bien parfois d'avoir raison du 1er coups ).
    Encore merci pour ton aide précieuse.
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  4. #4
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    J'ai parlé trop vite!
    Pouvez-vous m'aider avec cette syntaxe plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO matable (monchampsA, monchampsB, monchampsC) 
    SELECT     case when monchamps2 = 33 then 1 
                    when monchamps2 is null then 2 
                    else 3 end,
                    a.monchamps12,
                    z.monchamps21
    FROM matable1 a, matable2 z
    WHERE mescondtions
    Ce qui me gène ce sont les tables multiples
    C'est impossible pour autant que je sache!
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  5. #5
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    Par défaut
    Slt,

    C'est tout a fait possible et explique dans la doc de SQL Server

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE titles
       SET ytd_sales = titles.ytd_sales + sales.qty
          FROM titles, sales
             WHERE titles.title_id = sales.title_id
             AND sales.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
    a+
    One ring to rule them all,
    One ring to find them,
    One ring to bring them all
    And in the darkness bind them.

  6. #6
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    En effet . Merci quand même. Les fois où j'ai cherché j'ai pas trouvé mais là c'est vrai la recherche était toute simple à faire.
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

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

Discussions similaires

  1. débutant / insert or update
    Par markusgalileo dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 02/04/2008, 10h14
  2. [Débutant] Requête Insert ou Update exécutée par l’objet ADO
    Par lazerdev dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/05/2007, 10h52
  3. [Débutant(e)] Création d'une requête update ou insert
    Par boulete dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/04/2006, 18h24
  4. [DOM] [Débutant(e)] Modifier un fichier XML avec DOM
    Par macks dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 05/07/2005, 14h13
  5. événement sur INSERT, DELETE, UPDATE
    Par papouAlain dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/12/2004, 15h40

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