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

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#1 Wed 07 September 2016 11:33

gwen
Participant actif
Lieu: Guingamp
Date d'inscription: 14 Nov 2005
Messages: 72
Site web

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

gwen
Participant actif
Lieu: Guingamp
Date d'inscription: 14 Nov 2005
Messages: 72
Site web

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

 

Pied de page des forums

Powered by FluxBB