Pages: 1
- Sujet précédent - QGIS: Probleme insert - update vue depuis la version 2.14.3 - Sujet suivant
#1 Wed 07 September 2016 11:33
QGIS: Probleme insert - update vue depuis la version 2.14.3
Bonjour,
Nous sommes utilisateurs de qgis depuis plusieurs année avec postgresql postgis pour l'insertion de donnée sans aucun soucis à partir de vue contenant des règles d'insert, d'update et de delete.
Depuis la version 2.14.3 nous rencontrons des problèmes pour l'insertion et mise à jour de données.
Qgis nous retourne comme message d'erreur :
You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause.
Ces mêmes vues sont utilisées pas d'autre applications sans aucun problème de la part de postgresql postgis. (FME- Veremap....)
Auriez vous des pistes pour résoudre ce problème?
Merci par avance, Bonne journée, Gwendal
___________________________________________________________
Voici une vue type pour l'insertion de donnée :
Code:
CREATE OR REPLACE VIEW aep.v_troncon AS SELECT troncon.identifiant, troncon.code_insee, commune.texte AS commune, troncon.numero, troncon.secteur, troncon.materiau, troncon.car_materiau, troncon.diametre, troncon.diametre_int, troncon.diametre_ext, troncon.longueur_calc, troncon.type, troncon.fonction, troncon.pression, troncon.ecoulement, troncon.etg_pression, troncon.etg_sectorisation, troncon.etg_distribution, troncon.type_travaux, troncon.observation, troncon.profondeur, troncon.datepose, troncon.source, troncon.etat, troncon.entreprise, troncon.casse_tron, troncon.note_renou, troncon.periode, troncon.sous_perio, troncon.pvr, troncon.class_dict, troncon.creat, troncon.date_creat, troncon.maj, troncon.maj_date, troncon.geom, troncon.object_id, troncon.oid, degrees(st_azimuth(st_startpoint(troncon.geom), st_endpoint(troncon.geom))) AS angle_line FROM aep.troncon, cadastre.commune WHERE commune.id_com = (('220'::text || substr(troncon.code_insee::text, 3, 3))::bpchar) ORDER BY troncon.materiau DESC, troncon.diametre DESC; -- Rule: delete_v_troncon ON aep.v_troncon -- DROP RULE delete_v_troncon ON aep.v_troncon; CREATE OR REPLACE RULE delete_v_troncon AS ON DELETE TO aep.v_troncon DO INSTEAD DELETE FROM aep.troncon WHERE troncon.object_id = old.object_id; -- Rule: insert_v_troncon ON aep.v_troncon -- DROP RULE insert_v_troncon ON aep.v_troncon; CREATE OR REPLACE RULE insert_v_troncon AS ON INSERT TO aep.v_troncon DO INSTEAD INSERT INTO aep.troncon (identifiant, code_insee, numero, secteur, materiau, car_materiau, diametre, diametre_int, diametre_ext, type, fonction, pression, ecoulement, observation, etg_pression, etg_distribution, etg_sectorisation, type_travaux, longueur_calc, profondeur, datepose, source, etat, entreprise, casse_tron, note_renou, periode, sous_perio, pvr, class_dict, creat, date_creat, geom, object_id) VALUES (new.identifiant, new.code_insee, new.numero, new.secteur, new.materiau, new.car_materiau, new.diametre, new.diametre_int, new.diametre_ext, new.type, new.fonction, new.pression, new.ecoulement, new.observation, new.etg_pression, new.etg_distribution, new.etg_sectorisation, new.type_travaux, st_length(new.geom), new.profondeur, new.datepose, new.source, new.etat, new.entreprise, new.casse_tron, new.note_renou, new.periode, new.sous_perio, new.pvr, new.class_dict, "current_user"()::text, 'now'::text::date, new.geom, nextval('seq_common'::regclass)); -- Rule: update_v_troncon ON aep.v_troncon -- DROP RULE update_v_troncon ON aep.v_troncon; CREATE OR REPLACE RULE update_v_troncon AS ON UPDATE TO aep.v_troncon DO INSTEAD UPDATE aep.troncon SET identifiant = new.identifiant, code_insee = new.code_insee, numero = new.numero, secteur = new.secteur, materiau = new.materiau, car_materiau = new.car_materiau, diametre = new.diametre, diametre_int = new.diametre_int, diametre_ext = new.diametre_ext, type = new.type, fonction = new.fonction, pression = new.pression, ecoulement = new.ecoulement, observation = new.observation, etg_pression = new.etg_pression, etg_distribution = new.etg_distribution, etg_sectorisation = new.etg_sectorisation, type_travaux = new.type_travaux, longueur_calc = st_length(new.geom), profondeur = new.profondeur, datepose = new.datepose, source = new.source, etat = new.etat, entreprise = new.entreprise, casse_tron = new.casse_tron, note_renou = new.note_renou, periode = new.periode, sous_perio = new.sous_perio, pvr = new.pvr, class_dict = new.class_dict, maj = "current_user"()::text, maj_date = 'now'::text::date, geom = new.geom WHERE troncon.object_id = new.object_id;
Hors ligne
#2 Thu 29 September 2016 12:28
Re: QGIS: Probleme insert - update vue depuis la version 2.14.3
Bonjour,
Je me répond je suis passé sur la version 2.16.3 et de dev osgeo 2.17 et tout semble en ordre
Mystère...
;-)
Gwendal
Hors ligne
Pages: 1
- Sujet précédent - QGIS: Probleme insert - update vue depuis la version 2.14.3 - Sujet suivant