我使用的是PostgreSQL 14.5
我有一个beneficiaries
表,其中注册了人员,我有BEFORE INSERT
触发器函数,该函数根据人员的位置(如果是巴黎- PAR-001,如果是伦敦- LON-004,等等)生成唯一的ID
,它可以工作。
但问题是,在编写此函数之前插入了大量记录,并且由于此函数是由BEFORE INSERT
触发的,因此我无法为它们使用ID
。
我看过documentation,之前的记录没有发现怎么触发这个功能
是否可以一次手动触发所有记录的此功能或任何其他解决方案?
1条答案
按热度按时间fnx2tebb1#
添加如下所示的附加触发器:
trigger函数是
BEFORE INSERT
触发器中使用的函数,然后更新所有这些行:完成后可以放下触发器。
您可以分批执行更新,并在其间对表运行
VACUUM
,以避免单个大规模更新造成的膨胀。