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

Langage SQL Discussion :

Update Where not Exists


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Update Where not Exists
    Bonjour

    J'essaie de faire un update d'un champ si cette valeur ne se retrouve pas dans la table. Voici ce que j'ai écrit mais cela ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE Client cl
    SET cl.MotDePasse = '*****',
    cl.Courriel = 'bob@leponge.com'
    WHERE NOT EXISTS (
    SELECT * 
    FROM Client
    WHERE Client.Courriel = cl.Courriel)
    AND cl.IDClient = 1111;
    Je pense que c'est à cause de cette ligne là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE Client.Courriel = cl.Courriel
    Mais je ne vois vraiment pas comment faire la validation si je n'ai pas cette condition là avec le pour m'assurer que la bonne rangée soit mise à jour


    merci

  2. #2
    Membre éclairé Avatar de nsanabi
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2003
    Messages : 570
    Points : 678
    Points
    678
    Par défaut
    Citation Envoyé par wclef Voir le message
    J'essaie de faire un update d'un champ si cette valeur ne se retrouve pas dans la table.
    l'update n'a pas encore été fait, cl.Courriel vaut certainement la même chose qu'un Client.Courriel (lui même)
    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    UPDATE Client cl
    SET cl.MotDePasse = '*****',
    cl.Courriel = 'bob@leponge.com'
    WHERE NOT EXISTS (
    SELECT * 
    FROM Client
    WHERE Client.Courriel = 'bob@leponge.com')
    AND cl.IDClient = 1111;

  3. #3
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    Quel est le rapport entre bob@leponge.com et l'ID 1111 ?

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 874
    Points : 53 048
    Points
    53 048
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UPDATE Client
    SET    MotDePasse = '*****',
           Courriel = 'bob@leponge.com'
    WHERE  NOT EXISTS (SELECT * 
                       FROM   Client AS CL
                       WHERE  Client.Courriel = cl.Courriel)
    AND    IDClient = 1111;
    A +

  5. #5
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    UPDATE Client
    SET    MotDePasse = '*****',
           Courriel = 'bob@leponge.com'
    WHERE  Courriel NOT IN(SELECT Courriel  
                       FROM   Client AS CL )
    AND    IDClient = 1111;

Discussions similaires

  1. SQL SELECT WHERE NOT EXISTS
    Par talietotoro dans le forum Requêtes
    Réponses: 6
    Dernier message: 21/08/2023, 07h27
  2. Requete WHERE NOT EXIST
    Par lelectronique.com dans le forum Requêtes
    Réponses: 4
    Dernier message: 22/01/2012, 11h53
  3. Améliorer une requete where not exists
    Par first racing dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/11/2010, 17h10
  4. A propos de la clause "Where NOT EXIST"
    Par Bouga74 dans le forum Développement de jobs
    Réponses: 7
    Dernier message: 19/06/2009, 15h26
  5. Insert .. where not exists
    Par Zolex dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 02/03/2007, 11h26

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