如何使用触发器在表中实现时间约束?我必须一次修改两行

时间:2019-06-04 23:18:14

标签: postgresql

我有两个表,即employee(id int,Name文本,Dept文本,工资数字(10,2),Date tstzrange)和

employees_history具有(id int,薪水数字(10,2),valid_time_start tstzrange,valid_time_end tstzrange)

我想以这种方式创建触发器,

a)当员工在我的办公室上班时,我将填写其ID,姓名,部门和薪水,并以日期作为当前日期(员工加入工作的日期)。并且所有相关信息都应插入employees_history。 valid_time_end应该包含“ uc”,即直到被触发器更改为止。

b)当员工获得晋升时,我将增加他们的薪水,这必须反映在employee_history表中,这样员工ID可以在employee_history中出现多次,但有效时间应为晋升日期,有效时间应为“ uc”。并且如果同一名员工被提拔,则valid_time_end必须是通过触发器提拔的日期。

0 个答案:

没有答案