我想在Insert命令中访问新创建的记录ID(PM)。
我有一张这样的table:
CREATE TABLE item_list."groups" (
id serial4 NOT NULL,
"name" varchar NOT NULL,
hierarchical_id varchar NOT NULL,
parent_id int4 NOT NULL
)
当我插入到表中时,由于序列类型,id的新值会自动生成。
但是,我想填充Hierarchy_id,这样它就是组Parents Hierarchy_id+新创建的组id**的串联。
例如:
- 父层次id为:0-12
- 我插入一个新的组,它的ID得到20。
- 新组Hierarchy_id应为0-12-20。
我可以在同一查询中执行此操作吗?如果是,为了访问新生成的id,INSERT命令应该是什么样子的?
父代hieararchical_id是已知的,不需要查询。
1条答案
按热度按时间pdkcd3nj1#
最好的解决方案可能是这样的
BEFORE INSERT
触发器:然后插入父级的
hierarchical_id
,触发器将正确修改它。