Следуя этому предыдущему вопросу, я использую PostgreSQL 8.4. и у меня проблемы с обновляемыми представлениями.
У меня есть представление:
CREATE VIEW filedata_view
AS SELECT num, id, ST_TRANSFORM(the_geom,900913) AS the_geom
FROM filedata
И хочу его обновить из моего приложения выкину Geoserver. Но получить ошибку:
<ServiceExceptionReport version="1.2.0" xmlns="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd">
<ServiceException> {http://www.opengeospatial.net/cite}filedata_view is read-only </ServiceException>
</ServiceExceptionReport>
Таким образом, представления в PostgresSql не обновляются. Мне нужно создать правило или триггер для обновления представления.
Я пробовал это:
CREATE OR REPLACE RULE ins_view_2 AS
ON UPDATE TO filedata_view DO INSTEAD UPDATE filedata SET the_geom=ST_TRANSFORM(NEW.the_geom,70066)
WHERE num=NEW.num
но это не помогло, я все еще получаю ту же ошибку.
Где моя ошибка?
where fd.num=NEW.num
) - person wildplasser   schedule 27.07.2012