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 05/05/2020 15:49:21

Aurel17
Membre

Triggers via 2 tables sur 2 bases différentes

Bonjour,
Est ce qu'il est possible de paramétrer un triggers dans une base donnée qui utiliserait une table située sur une autre base ?
Mon trigger "jointure spatiale"  consiste à remplir un champ commune (avec le nom de la commune) lorsque je crée un point d'une table école.
Si je m'en tiens à la requête de la fonction trigger et qui fonctionne lorsque les tables commune (avec son champ nom) et école (avec son champ commune) sont dans la meme base placées dans le schema "Scolaire".



CREATE OR REPLACE FUNCTION "Scolaire".update_nomcom()
  RETURNS trigger AS
$BODY$
BEGIN
    select into new.commune nom FROM "Scolaire"."table_Commune" where st_within(new.geom, geom);
    return new ;
END;
$BODY$
...




maintenant si ma table Commune se trouve dans une autre base appelée "Administratif", j'ai tenté ça mais en vain:



CREATE OR REPLACE FUNCTION "Scolaire".update_nomcom()
  RETURNS trigger AS
$BODY$
BEGIN
    select into new.commune nom FROM "Administratif"."Scolaire"."table_Commune" where st_within(new.geom, geom);
    return new ;
END;
$BODY$
...


Pour etre concis, quel format pr spécifier une table dans une base particulière ?
j'ai tenté ce format: base.schema.table

Merci.
Aurélien

Dernière modification par Aurel17 (05/05/2020 15:51:53)

Hors ligne

#2 05/05/2020 16:21:45

gleu
Administrateur

Re : Triggers via 2 tables sur 2 bases différentes

Les bases sont des objets hermétiques et autonomes. Vous ne pouvez pas faire de requêtes concernant des objets de la base X en étant connecté sur la base Y.

Si vous avez besoin de cela, c'est que vous auriez dû créer dans une seule base des schémas correspondant à vos bases actuelles.


Guillaume.

Hors ligne

Pied de page des forums