Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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é ?

Annonce

Printemps des cartes 2024

#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: 1537

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

Powered by FluxBB