#1 Mon 14 May 2012 14:58
- ggBaldi
- Juste Inscrit !
- Date d'inscription: 9 May 2012
- Messages: 1
Triggers et requêtes
Bonjour,
Je me permets de poster , car je suis un peu perdu.
Durant mon stage je dois mettre en place des triggers dans une base Postgres/Postgis.
J'ai notamment une requête SQL qui fonctionne parfaitement, mais maintenant j'aimerai l'automatiser avec un déclencheur au moment où je créais un enregistrement dans la base via QGIS.
SELECT ST_Line_Interpolate_Point("Table_A".the_geom, ST_Line_Locate_Point("Table_A".the_geom, "Table_B".the_geom)) FROM "Table_A", "Table_B" ;
Ce qui donne :
CREATE FUNCTION trig_snap_()
RETURNS trigger AS
BEGIN
SELECT ST_Line_Interpolate_Point("Table_A".the_geom, ST_Line_Locate_Point("Table_A".the_geom, "Table_B".the_geom))
FROM "Table_A", "Table_B");
RETURN NEW;
END ;
LANGUAGE plpgsql
Cette requête interroge deux tables et je n'arrive pas à savoir si une fonction trigger peut s'appliquer avec deux tables distinctes ?
Si quelqu'un pouvait pouviez m'aider et/ou m'expliquer ! )
Merci d'avance,
GG
Hors ligne
#2 Mon 14 May 2012 16:32
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Triggers et requêtes
Bonjour,
Oui, un trigger peut interroger plusieurs tables.
Il faut d'abord créer la fonction du trigger, puis créer le trigger sur la table qui va recevoir la mise à jour en y associant la fonction.
Vous trouverez une bonne introduction ici: http://www.postgresql.org/docs/9.1/inte … ition.html et des exemples sur ce meme forum
Nicolas
Hors ligne