首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要帮助使用Postgresql函数从数组插入数据作为输入参数

需要帮助使用Postgresql函数从数组插入数据作为输入参数
EN

Stack Overflow用户
提问于 2022-06-08 12:45:28
回答 1查看 317关注 0票数 -1

是否可以帮助在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,数据如下:

代码语言:javascript
运行
复制
exp_id, group_id
    3275,   1000520
    3845,   1000520
    3578,   1000520
    3125,   1000520

如果需要进一步澄清,请告诉我

EN

回答 1

Stack Overflow用户

发布于 2022-06-08 13:01:28

您不需要一个函数来完成这个任务,但是如果您真的想要的话,可以将SQL放在一个函数中。你只需要解开数组。在本例中,我使用WITH子句传递数据,但显然可以以其他方式执行,比如从应用程序中。

代码语言:javascript
运行
复制
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;

如果您确实需要一个函数,那么它只是封装在一个函数中的查询的主要部分:

代码语言:javascript
运行
复制
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;```
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72545956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档