Hola José,

jvenegasperu escribió:
> Buen dia a todos alguien puede dar un ejemplo de implementación para este
> mensaje que me esta dando postgres?
> 
> Las vistas que no extraen desde una única tabla o vista no son 
> automáticamente actualizables
> HINT: Para activar las actualizaciones en la vista, provea un disparador 
> INSTEAD OF UPDATE o una regla incondicional ON UPDATE DO INSTEAD
> 
> abajo dejo  la definicion de la vista que estoy trabajando todas las tablas
> se enlazan a la tabla fcom_ficha_catastral por el id de esta tabla que va a
> todas las tablas hijas
> estoy armando la vista para algunos campos que se actualizan mas a menudo.

Bueno, lo que dice el mensaje.  Para poder hacer un UPDATE sobre la
vista, tienes que darle un trigger INSTEAD OF UPDATE; o sea algo así:

CREATE TRIGGER tu_trigger INSTEAD OF UPDATE ON detalle_ficha_corregir
  FOR EACH ROW EXECUTE PROCEDURE tu_funcion();

donde tu_function() es una función declarada RETURNS TRIGGER que toma
los datos y los convierte en INSERTs o UPDATEs sobre las tablas
fcom_ficha_catastral y/o fcom_datos_usuario y/o fcom_datos_inmueble,
según sea apropiado.  (La idea es que el código de tu función puede
verificar si ya existen los registros necesarios en cada tabla, y si no
existen los insertan, o de lo contrario le hacen UPDATE).

No te aconsejo ni siquiera intentar la regla ON UPDATE DO INSTEAD ...
las reglas son un lío.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Reply via email to