我想知道我是否可以使用PostgrSQL触发器来更新我确实有日期类型列的列,在这个日期我想更新另一个表中的另一列。
使其更清晰
我有两张桌子
Works_locations表
walphid wnumberid locationid
DRAR 1012 101
PAPR 1013 105
PAHF 1014 105
ETAR 1007 102
DRWS 1007 102
locationsid属性是指Locations表中的“locid”,它是向下的
locid locname
101 Storage
102 Gallary A
103 Gallary B
104 Gallary C
105 Lobby
展览桌
exhid exhname description strtdate endDate
101 Famous Blah Blah 2013-07-15 2013-10-13
这里是连接展览桌和位置表的桥牌表
locationsid exhibitid
102 102
103 101
104 103
现在每个展览都有一些作品,应放在其中一个位置表中。
在展览表的'endDate'列中,这是一个日期数据类型,我想更新Works位置表中的'locationid'列以放置在另一个位置。
换句话说。每个展览都有一些作品,这些作品被放置在其中一个地点。在展览的结束日期,我想更改位置,具体来说,我希望将作品退回存储。
知道如何使用postgresql执行此操作?
方面
答案 0 :(得分:4)
PostgreSQL没有内置的任务调度程序。即使有一个调度程序,它运行的命令也不会成为触发器,它们只是由调度程序运行的程序。
您无法编写在任意时间触发的触发器。
您需要使用cron
,任务计划程序,PgAgent或类似程序在所需时间运行语句。或者你可以写一个脚本来检查下一个事件是什么时候,睡到那时,运行所需的命令并将该事件标记为已完成,然后一直睡到下一个事件。