gpt4 book ai didi

postgresql - Postgres : is it possible to lock some rows for changing?

转载 作者:行者123 更新时间:2023-11-29 13:22:28 24 4
gpt4 key购买 nike

我有一些很旧的表格,这些表格保存了几年的客户付款和佣金记录。在正常的业务周期中,有时需要重新计算佣金和更新表格。但通常重新计算的时间会倒退 1 或 2 个月,而不是更多。

最近,由于 php 脚本中的错误,我们的开发人员从 0_0 开始重新计算佣金。而且重新计算的过程真的很复杂,光靠昨天的备份是无法恢复的——海量数据库的数据变化,所以恢复数据是一个非常复杂和昂贵的过程。以及来自客户的提示和会计变更......你知道......恐怖。

我们不能按时间段拆分表格。 (好吧,我们可以,但重新制作所有数据选择需要一年时间)。

我想考虑的是设置一些更新触发器来检查更改记录的日期和 allowed 日期,该日期应该小于更新日期。因此,如果出现错误或错误,当有人尝试更新此类“受限”行时,它会出现异常并保持数据不变。

这是一个好的方法吗?如何做到这一点 - 我的意思是触发?

最佳答案

对于 postgres,您可以使用 check 约束来确保 allowed_date 始终小于 update_date:

ALTER TABLE mytable ADD CONSTRAINT datecheck CHECK (allowed_date < update_date);

关于postgresql - Postgres : is it possible to lock some rows for changing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39238319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com