[Qgis-user] How to set posgis default sequential value in a QGIS "editable" view?

Pedro Venâncio pedrongvenancio at yahoo.com
Fri Feb 28 16:56:06 PST 2014


Olá Alexandre!

If the gid field is serial, you can not just omit it in the Rule - Insert Into statement?

CREATE OR REPLACE RULE "_INSERT" AS ON INSERT TO "PGHP".infra_portoes DO INSTEAD
INSERT INTO "PGHP"."infraestruturas_pontos" ("classe","nome","geom")
VALUES ('portoes',NEW."nome",NEW."geom");

That way, Postgresql follows the sequence smoothly. 

Or I did not realize the problem right?


Best regards,
Pedro Venâncio

 




>________________________________
> DE: Alexandre Neto <senhor.neto at gmail.com>
>Para: QGIS User <qgis-user at lists.osgeo.org> 
>Enviadas: Sexta-feira, 28, Fevereiro 2014 16:03:37
>Assunto: [Qgis-user] How to set posgis default sequential value in a QGIS	"editable" view?
> 
>
>
>Hello all,
>
>
>I have posted this question in gis.stackexchage, does anyone have a solution for it? 
>
>
>Thanks
>
>http://goo.gl/Bp6xZN
>
>
>Introduction
>In a QGIS project I have a VIEW, that I want to became editable (I'm trying to replicate the versioning system used DB Manager with some tweeks). Therefore I created a few rules to make is so (see below). I'm able to delete and update the features without problems, but while inserting new features, I'm not being able to use postgis default value (sequence) for gid (that in this case is not a primary key) but has a NOT NULL constraint. So, if the user don't fill the gid value, qgis is not be able to commit the changes, if it does... we neve know where thing going to get wrong.
>The question
>Is there a way I can prepare my view or set qgis form to read the default value?
>What I got
>-- The original tableCREATETABLE"PGHP".infraestruturas (gid serial,nome character varying(40),classe character varying(40),geom geometry(POINT,3763),"id_hist"serial primarykey,"time_start"timestamp,"time_end"timestamp,"user_update"character varying(40));-- Creating the viewCREATEORREPLACE VIEW"PGHP".infra_portoes ASSELECT"gid","nome","geom"::Geometry(POINT,3763),"time_start","user_update"FROM"PGHP"."infraestruturas_pontos"WHERE"classe"='portoes'AND"time_end"ISNULL;-- Make the view editableCREATEORREPLACE RULE"_DELETE"ASONDELETETO"PGHP".infra_portoes DO INSTEAD DELETEFROM"PGHP"."infraestruturas_pontos"WHEREgid =old.gid;CREATEORREPLACE RULE"_INSERT"ASONINSERTTO"PGHP".infra_portoes DO INSTEAD INSERTINTO"PGHP"."infraestruturas_pontos"("gid","classe","nome","geom")VALUES(NEW."gid",'portoes',NEW."nome",NEW."geom");CREATEORREPLACE RULE"_UPDATE"ASONUPDATETO"PGHP".infra_portoes DO INSTEAD
 UPDATE"PGHP"."infraestruturas"SET"gid"=NEW."gid","classe"='portoes',"nome"=NEW."nome","geom"=NEW."geom"WHEREgid =NEW.gid;
>
>
>_______________________________________________
>Qgis-user mailing list
>Qgis-user at lists.osgeo.org
>http://lists.osgeo.org/mailman/listinfo/qgis-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20140228/30bdc9c9/attachment.html>


More information about the Qgis-user mailing list