gpt4 book ai didi

database - 如何在 postgresql 中循环遍历 string[]?

转载 作者:行者123 更新时间:2023-11-29 14:06:32 25 4
gpt4 key购买 nike

在这个 postgressql 函数中,我通过拆分字符串创建了一个数组。现在我想循环这个数组并对其进行一些处理。

功能:

CREATE OR REPLACE FUNCTION getAllFoo() RETURNS character varying as
$BODY$
DECLARE
arr_split_data text[];
counter character varying;
begin

counter := ''; -- Init value

-- split data. Add in array
select into arr_split_data regexp_split_to_array('a,b,c,d,e,f',',');

FOR r IN arr_split_data -- error
LOOP
counter := arr_split_data[r] || '_' || counter; -- do some processing
END LOOP;

return counter;
END
$BODY$
LANGUAGE 'plpgsql';

但是我收到了这个错误

error

当我执行这个函数时。我的 for 循环语法有误吗?

最佳答案

语法是

FOREACH r IN ARRAY arr_split_data
LOOP
counter := r || '_' || counter;
-- do some processing
END LOOP;

您还需要声明 r:

DECLARE
arr_split_data TEXT [];
r CHARACTER VARYING;
counter CHARACTER VARYING;
BEGIN

参见手册第 41.6.5 节:Looping Through Arrays

关于database - 如何在 postgresql 中循环遍历 string[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41776633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com