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.
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.
c'est une blague ?
Ben non. Je me suis peut-être pas exprimé clairement.Envoyé par makowski
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.
La réponse est dans la formulation de la question !Envoyé par PedroBD
la seule solution est de faire DELETE FROM TABLE1, DELETE FROM TABLE2, etc
Et tu peux me donner la syntaxe STP?Envoyé par Bejaia-In
Tu sais comment on copie des tables? pour que je puisse dupliquer ma base et recopier les tables qui m'interessent ensuite.
vas voir là http://fbexport.sourceforge.net/
ces outils sont très bien pour cela
Merci pour le lien.Envoyé par makowski
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.
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.
Merci de ta réponse.Envoyé par SnakemaN
Tu peux préciser STP?
Pour revenir à ta question initiale
Y'en a qu'on essayé,
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
c'est vous qui voyez !
a+
bonsoir,
peut tu utilise le compsant IBScript pour executer les requetes suivante :
DELETE FROM TABLE1, DELETE FROM TABLE2
c'est tous.
Mais y zont eu des problemes !Envoyé par Yurck
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
Ce que je voulais dire c'est qu'apres un dump tu as un fichier éditable par tout editeur de texte....(Win et Linux)Envoyé par SnakemaN
....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 !
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.
on est d'accord, pas la peine de t'énerver
je parlais du code de la procédure tel que proposé
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager