我想在她的视图更新时更新表格。我使用 postgresql/postgis。
我创建视图。
CREATE VIEW filedata_view
AS SELECT num, id, ST_TRANSFORM(the_geom,900913)
FROM filedata
现在,当它更新时,我想用这些数据更新 TABLE。但我听说触发器不能放在 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.
更新
AS SELECT num, id, ST_TRANSFORM(the_geom,900913)
如果我使用它,如何设置列名我得到num
列:id
和st_transform
。如何将第三列的名称设置为the_geom
?