이 postgressql 함수에서 문자열을 분할하여 배열을 만들었습니다. 이제이 배열에 루프가 필요하고 일부 처리가 수행됩니다.postgresql에서 문자열 []을 반복하는 방법은 무엇입니까?
기능 :
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';
하지만이 기능을 실행할 때이 오류를
을 얻고있다. 내 구문 for loop가 잘못 되었습니까?
. 오류 - FOREACH의 ** 루프 변수는 알려진 변수 또는 변수 목록이어야합니다 ** –
@Deepakgupta : 변수'r'을 선언하십시오 –