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 :

Comment écrire une requette "UPDATE" entre deux tables. Sans un sous select ?


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 47
    Points : 37
    Points
    37
    Par défaut Comment écrire une requette "UPDATE" entre deux tables. Sans un sous select ?
    Bonjour,

    J'ai deux tables, qui sont liés avec une clé.

    1) "tbl_inscription" avec les champs

    ins_identifiant
    ins_act_identifiant
    ins_statut


    2) "tbl_activite"

    act_identifiant
    act_numero
    etc.

    Je reçoit "act_numero" en paramètre et Je dois pouvoir mettre à jour la valeur de "ins_statut" correspondant.

    Je peux le faire de façon suivante :

    UPDATE tbl_inscription SET ins_statut = 0 WHERE ins_act_identifiant = (SELECT act_identifiant FROM tbl_activite WHERE act_numero = $no_act)

    Mais je veux pouvoir le faire sans passer par un sous SELECT.

    Est-ce qqun a un idée comment le faire ?

    Merci à l'avance.

  2. #2
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    passer par une table temporaire ?
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  3. #3
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    a tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE tbl_inscription join tbl_activite 
    ON ins_act_identifiant = act_identifiant 
    SET ins_statut = 0
    WHERE act_numero = $no_act

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 802
    Points
    30 802
    Par défaut
    Chaque éditeur de SGBD propose ses propres extensions à la norme SQL pour permettre les jointures dans la commande UPDATE.
    Quel est votre SGBD ?

    En précisant le SGBD que vous utilisez et sa version, les réponses proposées seront adaptées aux spécificités et limitations de celui-ci.
    Règles du forum Langage SQL à lire par tous
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 47
    Points : 37
    Points
    37
    Par défaut
    Merci pour vos réponses,

    La solution de Cybher me donne l'erreur suivante sur SQL Server 2005:

    Msg 156, Niveau 15, Etat 1, Ligne 1
    Syntaxe incorrecte vers le mot clé 'join'.


    Et pour al1_24 :

    Je dois pourvoir exécuter la même requette sur SQL Server et Oracle. En fait je suis en train de tester les deux.

    Merci pour votre aide les amis.

Discussions similaires

  1. UPDATE ID entre deux tables
    Par sarabaïte dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/03/2011, 18h41
  2. update mutiple entre deux tables
    Par essayeencore dans le forum Développement
    Réponses: 2
    Dernier message: 05/07/2010, 16h01
  3. Réponses: 3
    Dernier message: 03/11/2009, 07h19

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