我想知道是否可以使用触发器和PostgrSQL来更新一个列,其中我确实具有date类型的列,并且在这个日期,我想更新另一个表中的另一个列。
为了让它更清晰
我有两张桌子
Works_locations表
walphid wnumberid locationid
DRAR 1012 101
PAPR 1013 105
PAHF 1014 105
ETAR 1007 102
DRWS 1007 102locationsid属性引用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 locations表中的'locationid’列,将其放在另一个位置。
换句话说。每个展览都有一些作品,这些作品被放置在其中一个地点。在展览结束时,我想改变地点,特别是我想把作品还回仓库。
你知道我该如何使用postgresql来做这个操作吗?
关注
发布于 2014-10-09 15:12:04
PostgreSQL没有内置的任务调度程序。即使有调度器,它运行的命令也不会是触发器,它们只是调度器运行的过程。
您不能编写在任意时间触发的触发器。
您将需要使用cron、Task Scheduler、PgAgent或类似工具在所需的时间运行语句。或者,您可以编写一个脚本来检查下一个事件发生的时间,在此之前休眠,运行所需的命令并将该事件标记为完成,然后休眠直到下一个事件。
https://stackoverflow.com/questions/26269339
复制相似问题