是否可以帮助在postgresql中创建函数,其中参数为insertdatausingarray(exp_ids array, group_id integer),内部函数用于迭代数组(exp_ids),从而进行相应的插入
Data exp_ids as数组,即{3275、3845、3578、3125}和group_id 1000520 --人人通用
插入数据阵列({3275,3845,3578,3125},1000520)
Table:这里,staructre是group_id \ exp_id,数据如下:
exp_id, group_id
3275, 1000520
3845, 1000520
3578, 1000520
3125, 1000520如果需要进一步澄清,请告诉我
发布于 2022-06-08 13:01:28
您不需要一个函数来完成这个任务,但是如果您真的想要的话,可以将SQL放在一个函数中。你只需要解开数组。在本例中,我使用WITH子句传递数据,但显然可以以其他方式执行,比如从应用程序中。
WITH data(exp_ids, group_id) AS (
VALUES ('{3275, 3845, 3578, 3125}'::int[], 1000520)
)
INSERT INTO test (exp_id, group_id)
SELECT unnest(exp_ids), group_id
FROM data;如果您确实需要一个函数,那么它只是封装在一个函数中的查询的主要部分:
CREATE FUNCTION my_function(p_exp_ids int[], p_group_id int) RETURNS void AS $$
INSERT INTO test (exp_id, group_id)
SELECT unnest(p_exp_ids), p_group_id
$$
LANGUAGE SQL;```https://stackoverflow.com/questions/72545956
复制相似问题