Aij*_*han 2 postgresql loops plpgsql
在这里,我试图连接一个字符串,:
CREATE FUNCTION looping() RETURNS TABLE(round text)
DECLARE
i RECORD;
BEGIN
FOR i IN select regexp_split_to_table('33,55,66,88', ',') as "asd"
LOOP
str:= str || ',' ||(select i."asd");
END LOOP;
END;
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
这是真的还是我错过了什么?
通常,具有标准 SQL 函数的基于集合的操作优于循环。
但是,如果您需要 plpgsql 中的控制结构,则可以这样工作(多种方式之一):
CREATE FUNCTION f_loop2(OUT str text)
RETURNS text AS
$func$
DECLARE
i text;
BEGIN
str := '';
FOR i IN
SELECT regexp_split_to_table('33,55,66,88', ',')
LOOP
str := str || ',' || i;
END LOOP;
END
$func$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)