Postgresql在表之间分配行

时间:2018-06-20 15:23:35

标签: postgresql triggers partitioning

我有几个表:

arx17_table1
arx17_table2
arx18_table1
arx18_table2

arx17_table1和arx18_table1具有相同的结构。 arx17_table2和arx18_table2具有相同的结构。

我的目标是使用指定的年份将INSERT,UPDATE,DELETE插入特定表(按年份)。 我试图通过使用触发器(INSTEAD OF,BEFORE)创建2个表“ table1”和“ table2”来实现此目的,当用户尝试进行INSERT,UPDATE,DELETE并在适当的表上执行该操作时会调用该表。 INSERT工作得很好,但是UPDATE和DELETE都没有-table1,table2不包含任何数据。 在触发器的类型“ EACH STATEMENT”和“ EACH ROW”之间切换无效。

在我看来这是唯一的方法-使用EXECUTE格式('UPDATE arx%s',DEC_YEAR,...)还是没有?

我想看到这样的解决方案:

INSERT INTO table1 VALUES( a,b,c,d );
SELECT * FROM arx18_table1;

arx18_table1:
a | b| c | d

我不想使用分区,它必须易于附加/分离前几年的功能。 有什么建议吗?

0 个答案:

没有答案