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 :

Requête de suppresion


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut Requête de suppresion
    Bonjour à tous.

    Voila j ne suis pas spécialiste du langage sql, et la je me trouve face à une situation qui demande une requête trop compliqué pour moi.

    Voila ma situation j'ai 4 tables.

    Una table gamme qui comporte les libelle de toutes les gammes de produits.

    bp_gamme => id_bp_gamme et libelle

    pour cette table je sais que ce que je m'occupe d'est l'id 10 donc pas de soucis

    Ensuite j'ai une table bp_famille => id_bp_famille, libelle, et id_bp_gamme

    Ensuite j'ai une table bp_produit => id_bp_produit,libelle,id_bp_famille

    Enfin j'ai une table bp_article=>id_bp_article,libelle,id_bp_produit

    Voila ce que je souhaite faire c'est une suppression des tous les articles qui corresponde à la gamme 10. Bien évidement il faut que sa supprime la gamme 10 dans la table gamme, mais aussi les familles qui se réfère a la gamme 10, les produits et les articles.

    Vola sur quoi je bloque, si quelqu'un pouvait me mettre sur une piste car je suis un peu naze en sql

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 49
    Points : 38
    Points
    38
    Par défaut
    salut

    preciser le SGBD

  3. #3
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut
    c mysql le sgbd

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    Il y a 2 options :

    Soit tes tables MySQL sont de type InnoDB
    et tu as déclaré les clés étrangères de tes tables en précisant un ON DELETE CASCADE
    et là la suppression est très simple :
    il te suffit de supprimer dans la table gamme la gamme 10 et les familles, produits et articles associés seront automatiquement supprimés.

    Soit tu n'as pas géré les clés étrangères et là t'es bon pour supprimer tout à la main dans chaque tables et dans cet ordre :
    les articles puis les produits puis les familles et enfin gamme.

  5. #5
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut
    Il y a 2 options :

    Soit tes tables MySQL sont de type InnoDB
    et tu as déclaré les clés étrangères de tes tables en précisant un ON DELETE CASCADE
    et là la suppression est très simple :
    il te suffit de supprimer dans la table gamme la gamme 10 et les familles, produits et articles associés seront automatiquement supprimés.

    Soit tu n'as pas géré les clés étrangères et là t'es bon pour supprimer tout à la main dans chaque tables et dans cet ordre :
    les articles puis les produits puis les familles et enfin gamme.
    Si je comprend bien, il y a pas moyen de faire une requete qui me supprime le tout d'un coup?


    Car si je supprime la gamme égale a 10, sa ne me détruis pas toutes les autres données qui en découles...

    Ca va etre relou de faire tout a la main

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    A ma connaissance (je ne suis pas expert SQL),
    il n'y a pas moyen de faire un DELETE sur plusieurs tables en même temps.

    il te faut donc autant de DELETE que de tables.

    Bon courage

  7. #7
    Membre habitué
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Points : 140
    Points
    140
    Par défaut
    Bon ben on va faire un script php alors, sa ira plus vite

    merci quand meme

Discussions similaires

  1. Requête suppresion critère existant dans une table
    Par fox89 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 11/01/2008, 22h19
  2. Réponses: 2
    Dernier message: 08/01/2008, 13h52
  3. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  4. Requete requête sous sybase
    Par eddie dans le forum Sybase
    Réponses: 3
    Dernier message: 02/04/2003, 14h51
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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