如何在postgres sql中创建一个序列id ?



是查询


insert into xyz_table (id_, column1, column2, 
column3, column4, column5) 
select a.id_, a.column1, a.column2, a.column3, a.column4, a.column5
from xyz_view a;

我需要将批量数据从xyz_view复制到xyz_table。到目前为止,视图还没有序列id生成器。我需要提供id_,为从视图复制到表的每一行按顺序生成。

为了测试的目的,我只需要通过postgres sql查询来做到这一点。

注意:xyz_view没有id_列。我在查询级别显式地添加了这些id_column,以便依次为xyz_table中的每一行提供id_。

如果可能,给我一个工作查询。

可以使用row_number生成顺序id

insert into xyz_table (id_, column1, column2, 
column3, column4, column5) 
select row_number() OVER () AS id, a.column1, a.column2, a.column3, a.column4, a.column5
from xyz_view a;

最新更新