在SQL中插入一个postgresql列表



我有一个需要插入的情况进入多个表和最后一个表将取决于表前的一些额外的项目列表。我使用pg与node和javascript。

表1:

insert into col1, col2 values  (1, 2) return col1 as table1_id

表2:

insert into col1 col2 values ( table1_id, val1),
(table1_id, val2),
.
.
.
.
(table1_id, val_n)

我在这里看到一些人这样做了,但在最后一个表中只有1行,但我将有一个项目列表,如val1....valn…将与table1中第一次插入生成的id合并,并添加到我拥有的列表中。这将是一个关系表,其中包含属于表1中记录的项列表。

如有任何线索,不胜感激。

感谢

我认为你应该在postgres中创建一个dao层。一个Postgres函数与所有参数,并返回你应该在前端。

这个postgres函数插入所有你想要的行

你可以这样处理你的问题:

CREATE OR REPLACE FUNCTION function_what_i_want(val1 integer, val2 integer, my_argument integer[])
RETURNS my_schema_and_table[] AS
$BODY$
DECLARE
result my_schema_and_table[];
BEGIN
insert into table1(col1,col2,col3) VALUES (nextval('seq1'),val1, val2);
insert into table2(c1,c2) 
select currval('seq1'),m.c2
from unnest(my_argument) m(c2);
END;
我不知道你的项目。如果你不想在这些表上搜索,也许最好将这些列表存储在json中。

相关内容

最新更新