如何解决Spatialite 仅针对新行触发
我的空间数据库中有两个带有几何图形的表(链接到 QGIS 3.4.8)。
当 table_2 位于 table_2 的多边形内时,我希望将 table_2 中的 id 写入 table_1。因此我创建了以下触发器:
CREATE TRIGGER insert_id AFTER INSERT ON table_1
BEGIN
UPDATE table_1
SET id = (SELECT id FROM table_2 WHERE st_within(new.geom,geom));
END
它可以工作,但不幸的是它会用新插入点的值覆盖所有条目。 我希望触发器仅适用于新添加的行/功能。 有办法吗?
谢谢!
编辑:
自己解决如下:
CREATE TRIGGER insert_id AFTER INSERT ON table_1
BEGIN
UPDATE table_1
SET id = (SELECT id FROM table_2 WHERE st_within(new.geom,geom)) WHERE table_1.rowid = new.rowid;
END
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。