PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 15/06/2020 15:23:53

Contrôler la présence des tables importés

Bonjour,

Je cherche à vérifier la présence de tables prédéfinies dans mon schéma "input".
Par la suite, je contrôlerai aussi la présence des champs et du typage de chaque champ.
Peut-on vérifier que ces tables sont présentes, en SQL pure, ou doit-on passer en PL/pgSQL (que je ne maîtrise pas) ?

Exemple ultra-simplifié :
Je dois contrôler que mes tables A, B et C sont bien présents dans mon schéma "input".
J'ai trouvé ce script qui permet de me lister les tables réellement présentes dans mon schéma :

 select * from pg_tables where tablename not like 'pg_%' AND schemaname = 'input' 

Merci.

Hors ligne

#2 15/06/2020 16:22:46

dverite
Membre

Re : Contrôler la présence des tables importés

Oui on peut contrôler la présence de tables ou de champs en SQL pur, mais dès qu'il s'agit de faire une action automatique conditionnée au résultat de ce qu'on a trouvé, le SQL pur ne suffit plus, il faut faire du procédural.

Hors ligne

#3 16/06/2020 11:25:34

Re : Contrôler la présence des tables importés

ok ! Merci pour ta réponse dverite.
Peut-être que dans mon cas, le SQL pur est suffisant : lorsque je reçois un jeu de données, je créé une base de données, j'importe les shapes dans le schéma "input", et je joue différents scripts pour faire différents contrôles (présence des champs, contrôles attributaires, contrôles géométriques, ...)
Dans un premier temps, cette manière de fonctionner me convient pas mal. Je stocke toutes les données dans des tables créées et rassemble toutes les erreurs dans une table "resume".

Dans un second temps, lorsque j'aurais réussit à bien me forme, je passerai sur du procédural sans hésitation. Mais le SQL pur me permettrai de faire face à une contrainte de temps, temps que je n'ai pas beaucoup en ce moment pour l'apprentissage.

Merci smile

Dernière modification par mathieu.godard (16/06/2020 11:42:53)

Hors ligne

Pied de page des forums