Pages: 1
- Sujet précédent - Mise à jour du champ de jointure d'une vue dans les deux tables mères - Sujet suivant
#1 Wed 13 April 2011 15:52
- xixi
- Juste Inscrit !
- Date d'inscription: 8 Sep 2005
- Messages: 4
Mise à jour du champ de jointure d'une vue dans les deux tables mères
Bonjour à tous,
J'ai crée dans ma base PostgreSQL/PostGIS une vue (VUE_ARRETE_PT) à partir de deux tables (ARRETE_ATT, ARRETE_PT). Afin de pouvoir modifié sous QGIS les deux tables à partir de la vue, j'ai crée une règle UPDATE. La règle fonctionne bien sauf sur le champ de jointure (ID_ARRETE) de la table ARRETE_PT qui est impossible à mettre à jour.
Je vous remercie tous par avance pour votre aide.
Sript SQL de la vue VUE_ARRETE_PT :
Code:
CREATE OR REPLACE VIEW "DOMAINE_PUBLIC"."VUE_ARRETE_PT" AS SELECT "ARRETE_ATT"."ID_DOSSIER", "ARRETE_ATT"."ID_ARRETE", "ARRETE_ATT"."TYPE_ARRETE", "ARRETE_ATT"."OBJET", "ARRETE_ATT"."CORRESPONDANT", "ARRETE_ATT"."LOCALISATION", "ARRETE_ATT"."DATE_ARRETE", "ARRETE_ATT"."DATE_DEBUT", "ARRETE_ATT"."DATE_FIN", "ARRETE_PT".gid, "ARRETE_PT".the_geom FROM "DOMAINE_PUBLIC"."ARRETE_ATT", "DOMAINE_PUBLIC"."ARRETE_PT" WHERE "ARRETE_ATT"."ID_ARRETE" = "ARRETE_PT"."ID_ARRETE";
Script SQL de la règle de mise à jour :
Code:
CREATE OR REPLACE RULE "VUE_ARRETE_PT_update" AS ON UPDATE TO "DOMAINE_PUBLIC"."VUE_ARRETE_PT" DO INSTEAD ( UPDATE "DOMAINE_PUBLIC"."ARRETE_ATT" SET "ID_DOSSIER" = new."ID_DOSSIER", "ID_ARRETE" = new."ID_ARRETE", "TYPE_ARRETE" = new."TYPE_ARRETE", "OBJET" = new."OBJET", "CORRESPONDANT" = new."CORRESPONDANT", "LOCALISATION" = new."LOCALISATION", "DATE_ARRETE" = new."DATE_ARRETE", "DATE_DEBUT" = new."DATE_DEBUT", "DATE_FIN" = new."DATE_FIN" WHERE "ARRETE_ATT"."ID_ARRETE" = old."ID_ARRETE"; UPDATE "DOMAINE_PUBLIC"."ARRETE_PT" SET "ID_ARRETE" = new."ID_ARRETE", the_geom = new.the_geom WHERE "ARRETE_PT"."ID_ARRETE" = old."ID_ARRETE";);
Dernière modification par xixi (Wed 13 April 2011 16:01)
Hors ligne
Pages: 1
- Sujet précédent - Mise à jour du champ de jointure d'une vue dans les deux tables mères - Sujet suivant