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

SQL Firebird Discussion :

Recherche du code pour effacer le contenu de toutes les tables sauf


Sujet :

SQL Firebird

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 149
    Points : 55
    Points
    55
    Par défaut Recherche du code pour effacer le contenu de toutes les tables sauf
    Tout est dans le titre je pense. Je cherche à faire un DELETE de toutes mes tables sauf table1,table2.

    Quelqu'un pourrait m'aider à créer ce code?

    Merci d'avance.

  2. #2
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    c'est une blague ?
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 149
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par makowski
    c'est une blague ?
    Ben non. Je me suis peut-être pas exprimé clairement.

    En fait, j'utilise un logiciel dont j'ai dupliqué la base de données. Je voudrais utiliser vider les tables de cette version dupliquée (sauf celles contenant certaines données) et pouvoir réutiliser la base ailleurs.

    Y a pas moyen sinon de créer à nouveau la base avec toutes les tables vides de données et recopier des tables qui m'interessent?

    Merci de ton aide.

  4. #4
    Membre averti Avatar de Bejaia-In
    Inscrit en
    Avril 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 365
    Points : 392
    Points
    392
    Par défaut
    Citation Envoyé par PedroBD
    Tout est dans le titre je pense. Je cherche à faire un DELETE de toutes mes tables sauf table1,table2.

    Quelqu'un pourrait m'aider à créer ce code?

    Merci d'avance.
    La réponse est dans la formulation de la question !
    ....................................................................
    Aidez-vous... Dieu vous aideras et nous aussi..
    ....................................................................

  5. #5
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    la seule solution est de faire DELETE FROM TABLE1, DELETE FROM TABLE2, etc
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 149
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par Bejaia-In
    La réponse est dans la formulation de la question !
    Et tu peux me donner la syntaxe STP?

    Tu sais comment on copie des tables? pour que je puisse dupliquer ma base et recopier les tables qui m'interessent ensuite.

  7. #7
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    vas voir là http://fbexport.sourceforge.net/
    ces outils sont très bien pour cela
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 149
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par makowski
    vas voir là http://fbexport.sourceforge.net/
    ces outils sont très bien pour cela
    Merci pour le lien.

    Je chercher encore un truc: La base que je manipule fait plus de 200 tables et je voudrais trouver un outil qui me permette de visualiser le modèle logique ou physique de données de la base. Et à partir du fichier de ma base (qui fait d'ailleurs près de 150Mo).

    Est-ce que je peux m'asseoir dessus, ou est-ce que ça existe? Même un truc payant, pas grave. Bon ce serait quand même bien qu'il y ait une version d'essais.

  9. #9
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Sous windows, avec easyPHP, phpMyAdmin fait ca tres bien...

    Tu fais un dump de tes deux tables complete plus uniquement la structure du reste.

    Au pire tu fais un dump complet de ta base tu vires tout ce qui il y dedans en rapport avec le contenu des autres tables puis tu restaure le tout dans une nouvelle bas.

    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 149
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par SnakemaN
    tu vires tout ce qui il y dedans en rapport avec le contenu des autres tables
    Merci de ta réponse.

    Tu peux préciser STP?

  11. #11
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 14
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    Pour revenir à ta question initiale

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    CREATE PROCEDURE DELETE_TABLE_SAUF(eList Varchar(1024))
    AS
    declare variable w_name char(255);
    begin 
        FOR select r.rdb$relation_name
                from rdb$relations r
    /*          where (r.rdb$relation_name not in ('table1','table2') )*/
              where (r.rdb$relation_name not in (:eList) )
                and (upper(r.rdb$relation_name) not like 'RDB$%')
                 into w_name
        do begin
            execute statement 'DELETE FROM ' || :w_name;
        end
    end
    Y'en a qu'on essayé,
    c'est vous qui voyez !

    a+
    Dans le vocabulaire des couturiers seulement, patron est synonyme de modèle.
    Aymond d'Alost

  12. #12
    Membre actif Avatar de touhami
    Inscrit en
    Avril 2002
    Messages
    327
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 327
    Points : 264
    Points
    264
    Par défaut
    bonsoir,
    peut tu utilise le compsant IBScript pour executer les requetes suivante :
    DELETE FROM TABLE1, DELETE FROM TABLE2
    c'est tous.

  13. #13
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Citation Envoyé par Yurck
    Y'en a qu'on essayé,
    Mais y zont eu des problemes !
    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

  14. #14
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    c'est sûr, la procédure fonctionne, mais uniquement q'il n'y a pas de relation de contrainte sur des clés étrangères, au quel cas, il faut respecter un certain ordre dans les commande DELETE, et ça la procédure, ne le permet pas
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

  15. #15
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Citation Envoyé par SnakemaN
    Sous windows, avec easyPHP, phpMyAdmin fait ca tres bien...

    Tu fais un dump de tes deux tables complete plus uniquement la structure du reste.

    Au pire tu fais un dump complet de ta base tu vires tout ce qui il y dedans en rapport avec le contenu des autres tables puis tu restaure le tout dans une nouvelle bas.

    Ce que je voulais dire c'est qu'apres un dump tu as un fichier éditable par tout editeur de texte....(Win et Linux)
    ....Donc une fois le dump effectué tu peux editer le fichier, supprimer tout ce que concerne le contenu des autres tables ( tout les INSERT INTO) en gardant la structure (CREATE TABLE...)

    Une fois ton fichier modifier tu restaure ta base de donnée avec et voila tu as une base donnée toute propre !

    C'est certes pas le plus optimisé mais ca marche à tous les coups !
    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

  16. #16
    Membre éprouvé Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 14
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Points : 912
    Points
    912
    Par défaut
    Taratata "makowski" la procédure peut aussi fonctionner avec les contraintes d'intégrité. Il faut évidement l'adapter et en tenir compte en faisant une jointure sur les tables de relations et en ordonnant en conséquence les suppressions.
    Il est à noter que nous parlons ici d'une base virtuelle non définie. Or chacun sait que toutes bases est élaborée par un concepteur qui a muri son projet et normé ses tables.
    Il en découle donc un programme de suppression plus ou moins générique en fonction de la maturité du concepteur et de sa base.
    La méthode la + simple pour ce type de demande étant bien sûr la suppression temporaire des contraintes d'intégrités via des alters tables.
    On peut aussi imaginer un programme delphi récursif qui déduit l'ordre de suppresion des messages d'erreurs qu'il reçoit.
    Dans le vocabulaire des couturiers seulement, patron est synonyme de modèle.
    Aymond d'Alost

  17. #17
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 712
    Points
    3 712
    Par défaut
    on est d'accord, pas la peine de t'énerver
    je parlais du code de la procédure tel que proposé
    Philippe Makowski
    IBPhoenix - Firebird
    Membre de l'April

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/09/2014, 21h31
  2. [MySQL] requete pour faire un select dans toutes les tables pour trouver le titre
    Par japhettchabao dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/09/2014, 20h02
  3. [XL-2010] Code pour sauvegarder un fichier automatiquement toutes les minutes
    Par philou665 dans le forum Excel
    Réponses: 3
    Dernier message: 03/09/2014, 22h07
  4. Code VBA pour effacement de contenu de cellules
    Par MAMANHOU dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/03/2008, 15h51
  5. recherche code pour limiter une lister et utiliser les bouton suivant precedent
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/09/2006, 17h43

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