banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oubliĂ© ?

#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 ! yikes)

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: 1566

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

 

Pied de page des forums

Copyright Association GeoRezo