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 :

update sans connaitre le nom des tables


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 54
    Points : 27
    Points
    27
    Par défaut update sans connaitre le nom des tables
    Bonjour,
    Peut-on remplacer le contenu d'un champs par un autre sans connaitre la table ?
    Je m'explique...
    J'aimerais remplacer toutes les occurrences de "france" par "France" mais je ne connais pas toutes les tables où ce champs est renseigné.

    Pour l'heure, voici ce je fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update  [nom_de_la_table] set Pays="France" where Pays="france";
    Je vous remercie.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 90
    Points : 111
    Points
    111
    Par défaut une procédure PL-SQL ?
    Genre une curseur qui se ballade sur tous les champs qui s'appelle "pays", puis construire le sql d'update et le lancer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DECLARE
      CURSOR CUR_PAYS_TBL IS 
        SELECT atc.OWNER, atc.TABLE_NAME
        FROM all_tab_columns atc
        WHERE atc.COLUMN_NAME='PAYS'
    BEGIN
      FOR PAYS_TBL IN CUR_PAYS_TBL LOOP 
        sqlstr:='update '||PAYS_TBL.OWNER||'.'||PAYS_TBL.TABLE_NAME||' SET Pays="France" WHERE Pays="france"';
        execute immediate sqlstr;
      END LOOP;
    END;

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    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 115
    Points : 28 493
    Points
    28 493
    Par défaut
    A adapter bien entendu au SGBD utilisé par Sinon, qui n'est peut être pas Oracle

Discussions similaires

  1. Connaitre les noms des tables d'une base Sqlite
    Par fadsys dans le forum PureBasic
    Réponses: 5
    Dernier message: 14/03/2019, 19h34
  2. Réponses: 5
    Dernier message: 02/03/2014, 16h53
  3. Réponses: 2
    Dernier message: 03/11/2008, 08h33
  4. [ODBC] Afficher entierement une bd sans le nom des tables !!
    Par carlatocer dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/06/2006, 10h57
  5. Connaitre le nom des tables d'une Base de donnée
    Par Pe04 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/03/2006, 14h27

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