Как обновить таблицу при обновлении представления?
Я хочу обновить таблицу, когда ее вид обновляется. Я использую postgresql / postgis.
Я создаю представление.
CREATE VIEW filedata_view
AS SELECT num, id, ST_TRANSFORM(the_geom,900913)
FROM filedata
И теперь, когда его обновили, я хочу обновить таблицу с этими данными. Но я слышал, что триггеры нельзя указывать в VIEW. Так как это сделать?
Теперь я использую эту функцию
CREATE OR REPLACE FUNCTION update_table() RETURNS TRIGGER AS '
BEGIN
UPDATE filedata SET id=NEW.id, the_geom=ST_TRANSFORM(NEW.st_transform,70066) where num=NEW.num ;
END;
' LANGUAGE plpgsql;
все в порядке. Но другая проблема. Как добавить триггер для просмотра я делаю это
CREATE TRIGGER up_table AFTER UPDATE ON filedata_view
FOR EACH ROW EXECUTE PROCEDURE update_table ();
но получите ошибку
ERROR: "filedata_view" is not a table.
UPDATE
Как установить имя столбцаAS SELECT num, id, ST_TRANSFORM(the_geom,900913)
если я использую это, я получаю столбцы:num
,id
а такжеst_transform
, Как установить имя третьего столбца вthe_geom
?