#1 Mon 30 October 2017 16:26
- scubas5
- Participant occasionnel
- Date d'inscription: 23 Mar 2007
- Messages: 39
Postgresql 9.3 requete
Bonjour à tous,
je cherche les tables avec une valeur donnée qui se trouve dans ma bdd postgres 9.3.
Je m'explique (désolé si je suis pas très clair)
j'ai une bdd (mabase), avec 40 schémas et plusieurs tables dans chaque schéma.
si je fais: select * from pg_tables , j'ai prés de 400 tables.
dans plusieurs tables, j'ai un champ qui s'appelle "urivoli" avec plusieurs écriture, (je recherche donc %rivoli%) qui est le code de la voie
Suite à un changement de nom de voie, j'ai besoin d'identifier et changer un code rivoli par un autre.
Je souhaite donc créer une requête (si cela est possible) pour rechercher ce code.
Requête de type: select * from mabase where all table %rivoli% = 2154 (bien sur, ça ne fonctionne pas).
Pouvez vous m'orienter dans cette requête, ou existe t'il une application pour le faire
Merci
Hors ligne
#2 Mon 30 October 2017 21:49
Re: Postgresql 9.3 requete
Bonsoir,
Code:
WITH colonnes AS (SELECT attrelid,attname FROM pg_attribute WHERE attname ILIKE '%rivoli%') SELECT c.relname, attname FROM pg_class c INNER JOIN colonnes ON c.oid = attrelid AND c.relkind = 'r'
vous donnera les tables/colonnes concernées.
Le "WHERE" sur la valeur de la colonne est à faire dans la requête "UPDATE"
Jean-Marie
Azimut
Hors ligne
#3 Tue 31 October 2017 07:57
- scubas5
- Participant occasionnel
- Date d'inscription: 23 Mar 2007
- Messages: 39
Re: Postgresql 9.3 requete
Bonjour jmarsac,
c'est tout à fait ce qu'il me faut.
Un grand merci pour cette requête.
Cela va bien m'aider.
Bien cordialement.
Hors ligne