我有一个坐在表顶部的视图,很简单,从表视图中选择*,没有过滤器,没有联接。
此规则将由应用程序而非基本表使用。我正在创建规则,其中对视图的任何更新都应重定向到基表。所有这些并发症都是由于分区和继承造成的。
问题是“是否可以在不以更新语法列出所有列的情况下更新表?”
当前规则:
CREATE OR REPLACE RULE update_table AS
ON UPDATE TO schema.view
DO INSTEAD
UPDATE schema.base_table
SET pk = new.pk, column1 = new.column1, column2 = new.column2, column3 = new.column3, ------------
WHERE base_table.pk = old.pk;
我想避免列出所有列,因为如果在基表中添加了新列,我们将不得不记住更新此规则。