Supprimer certains champs de ma base

glob04d -  
jee pee Messages postés 31931 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Dans ma base je contiens plusieurs tables.
Chaque table contient forcément un champs nommé 'IdPays'.

Je voudrais faire une requete pour supprimer tous les valeurs dans mes tables de ma base ou l'IdPays = 1.

ça donnerait par exemple : delete from ( toutes les tables de ma base) where IdPays = 1.

Si quelqu'un a une idée.

Merci

6 réponses

  1. parisestmagic63 Messages postés 1298 Statut Membre 105
     
    c'est avec quel logiciel ? parce qu'il y a différentes facons de faire selon le logiciel
    tu peux avoir un :

    alter table "nom_table"
    delete from "..." where "..."
    0
  2. HostOfSeraphim Messages postés 7340 Statut Contributeur 1 609
     
    Tu ne peux pas mentionner plusieurs tables dans une même instruction DELETE.

    0
  3. glob04d
     
    Ok. Donc y aurait t'il un autre moyen de faire ?
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. glob04d
     
    même si vous avez pas d'idées, vous avez peut être des pistes ? non ?
    0
  6. jee pee Messages postés 31931 Date d'inscription   Statut Modérateur Dernière intervention   9 994
     
    Salut,

    A partir du dictionnaire générer un fichier de commande sql contenant toutes les tables.

    Par exemple sous oracle (sans être certain des noms exacts) :

    spool liste_delete.sql
    select 'delete '||owner||'.'||table_name||' where IdPays = 1 ;' from all_tab ;
    spool off

    Et après faire un peu de menage dans le fichier liste_delete.sql avant de l'executer.

    cdlt

    0