2013-10-12 43 views
0

我正在使用postgresql是否有可能在特定时间发生时更改表。我想在被修改的表中指定的特定日期发生时修改值。例如:SQL更改规则基于时间发生的时间

一件作品位于博物馆中,展览结束后它会自动放回到存储区,更改其位置属性。这发生在指定的日期。

回答

0

postgres在系统级事件(如时间)上没有触发器。 你能做什么,但是,是有操作系统的cronat服务为你做它通过安排如下语句:

echo "UPDATE artwork SET location='storage' WHERE name='Mona Lisa' | psql -u some_user -d some_database 
1

这是不可能的。见cron作业,由Muleinik的建议......但是呢,在您的例子扩大:

一件艺术品坐落在博物馆,它的展出后结束它会自动放回存储,改变其位置属性。这发生在指定的日期。

如果一件艺术品被盗会发生什么情况(发生),或被罚到作为临时展览的一部分,博物馆决定保留它(发生)或将其放回“合法拥有者”(发生),或者它被搁置在错误的位置(发生)等等?

不要以为事情会顺利 - 他们不会。

0

也许你需要一个不同的数据模型,一个可以让你存储“历史”位置的数据模型。 (因为你将在那里保留未来的记录,因此在引号中)。