0

我正在使用 postgresql 是否可以在特定时间发生时更改表。我想在正在修改的表中指定的特定日期发生时修改值。例如:

一件艺术品位于博物馆中,展览结束后,它会自动放回仓库,改变其位置属性。这发生在指定的日期。

4

3 回答 3

1

这不可能。按照 Muleinik 的建议,请参阅 cron 作业......但是,然后扩展您的示例:

一件艺术品位于博物馆中,展览结束后,它会自动放回仓库,改变其位置属性。这发生在指定的日期。

如果艺术品被盗(发生),或者它作为临时展览的一部分被送到的博物馆决定保留它(发生)或将它归还给它的“合法所有者”(发生),或者它被搁置在错误的位置(发生)等?

不要只是假设事情会顺利——他们不会。

于 2013-10-12T19:55:55.753 回答
0

postgres 在系统范围的事件(例如时间)上没有触发器。但是,您可以做的是让操作系统cronat服务通过安排如下语句为您执行此操作:

echo "UPDATE artwork SET location='storage' WHERE name='Mona Lisa' | psql -u some_user -d some_database
于 2013-10-12T19:36:08.867 回答
0

也许您需要一种不同的数据模型,一种允许您存储“历史”位置的数据模型。(用引号引起来,因为您也将在那里保留未来的记录。)

于 2013-10-12T20:09:33.890 回答