Escribir regla como un Trigger

From: "jvenegasperu (dot)" <jvenegasperu(at)gmail(dot)com>
To: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Escribir regla como un Trigger
Date: 2017-12-04 17:28:17
Message-ID: CA+KjtGepF1V-z8BTKkAUFAD+C=byL6Nj36PGH2B69KBN5SgX1A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buen dia a todos

recientemente conversando con Jaime Casanova me entere que hay una
propuesta para retirar las reglas de postgres y que muy probablemente sera
adoptada.

De hecho yo actualmente tengo un problema con una regla en postgres 10.1
cuando es usada desde QGis 2.18

Si yo uso la regla usando pgadmin funciona bien y no me permite insertar
una nueva geometria de tipo punto cuando se trata de las mismas coordenadas.

Esta es la regla

CREATE OR REPLACE RULE ed_ap_valvula AS
ON INSERT TO ap_valvula
WHERE 0 <> (( SELECT count(*) AS count
FROM ap_valvula
WHERE ap_valvula.the_geom ~= new.the_geom))
DO INSTEAD NOTHING;

Pero cuando lo intento desde QGIS me da este mensaje de error

"Necesita un regla incondicional ON INSERT DO INSTEAD con una cláusula
RETURNING"

Jaime me sugirio mejor escribir la regla como trigger pero no se como
hacerlo haber quien me hecha una mano o un cable jeje para escribir esto
como trigger

la idea es que si alguien al dibujar en QGIS repite el mismo dibujo el
segundo sea descartado automaticamente si se trata exactamente de las
mismas coordenadas u otros criterios de campos que se puedan comparar.

esta reglas seria un trigger que se ejecutaria antes de insertar y
devolveria null o un mensaje que diga "no se puede grabar porque la
geometria esta duplicada".

Gracias por la ayuda que me puedan brindar.

Atte

Jose

--
José Mercedes Venegas Acevedo
cel Mov RPC 964185205

Member of the PHP Documentation Group (Spanish)

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message mauricio pullabuestan 2017-12-04 17:57:29 Herramienta de monitoreo PG Budget
Previous Message Edwin Quijada 2017-12-02 16:25:04 Re: Mejorar velocidad de backup en postgres