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 :

Suppression d'un dossier et sous dossier/fichier table(id,id_parent,..)


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut Suppression d'un dossier et sous dossier/fichier table(id,id_parent,..)
    Bonjour,

    Voila j'ai une table file(file_id,file_parent,file_url,file_type..)

    Et j'aimerai supprimer un dossier donc tout le contenu...

    Au début j'ai écris delete * from file where file_id = '10' OR file_parent = '10'

    Mais bon ca supprime que le dossier et pas les sous sous dossier/fichiers.

    pour le champ file_type c'est pour indiqué si c'est un dossier "d" ou un fichier "f"

    Comment dois-je écrire cette requete ?

    merci

  2. #2
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    quel SGBD?

    y'a t il des contraintes en cascade?

    delete *? ça m'étonnerait.

    tu peux supprimer le dossier parent et pas les autres? et il te laisse faire....
    et le parent, bien renseigné?
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut
    MySQL / jsp


    j'ai une sorte de filemanager
    J'ai une liste de dossier / sous dossier / fichiers

    Et quand je décide de supprimer un dossier et bien il se supprime ainsi que tout son contenu.

    Ma (mauvaise) requête marche mais si un sous dossier a du contenu et ben le contenu reste...

    Voila un exemple:

    > dossier parent (id=10;id_parent=0)
    >> sous dossier (id=15;id_parent=10)
    >>> fichier du sous dossier (id=21;id_parent=15)
    >> fichier du dossier parent (id=12;id_parent=10)

    avec ma mauvaise requete si je dis de supprimer le dossier parent (id=10)
    il supprime tout sauf le fichier de sous dossier.

    Pour linstant il n'y a pas de reel fichier tout est information dans la bdd.

  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
    Pour ce genre d'opération, il te faut une requête récursive, syntaxe qui n'est pas prise en charge par tous les SGBD...
    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
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut
    et comment fait-on une requête récursive dans mon cas?

    C'est l'unique solution?

  6. #6
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Tu a un moyen de "simuler" ton arbre par une représentation intervallaire.

    C'est bien plus performant niveau ressource et c'est supportable par bien plus de SGBD, voici plus de détails

    Le parcoure s'en retrouve plus simplifié.

    Pour la requête récursive il faut appeler la même fonction en elle même, tu empile donc les exécutions successive des fonction. Les fonction appelantes attendant la fin de l'exécution des appel fils, ce type d'opération est très gourmand en ressource. C'est pour cela que l'on évite autant que possible l'utilisation de parcours récursif, surtout pour les bases de données.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  7. #7
    Membre régulier Avatar de knoodrake
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2007
    Messages : 86
    Points : 86
    Points
    86
    Par défaut
    Bonjour,

    juste une interrogation: ce n'est pas faisable avec des triggers ?
    ce qui pourrait donner la récursivité nécessaire sans user de programmation récursive à proprement parler.

Discussions similaires

  1. [XL-2007] lister les dossiers et sous dossiers et compter les fichiers
    Par barto92 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/01/2013, 20h53
  2. Renommer des dossiers, des sous-dossiers et des fichiers
    Par rambc dans le forum Général Python
    Réponses: 15
    Dernier message: 19/04/2010, 20h22
  3. Compter fichier de dossiers et sous-dossiers
    Par thomas1806 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/07/2009, 14h59
  4. Telecharger tout le contenu d'un dossier ftp (sous dossier et fichier)
    Par daviddu54 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 31/08/2007, 13h18

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