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


