데이터를 텍스트로 가져와 postgresql 함수에서 배열로 반환해야합니다. 나는 파일이있는 클립 미디어 테이블을 가지고 있으며 각 클립 ID마다 미디어 클립에서 모든 파일을 가져오고 싶습니다. 이 같은 기능을 만들어 :SQL 함수에서 루프에서 데이터를 가져 오는 방법
CREATE OR REPLACE FUNCTION clips_media_array(INT)
RETURNS text[] AS $$
DECLARE
r clips_media%ROWTYPE;
t text[];
BEGIN
FOR r IN
SELECT file_name
FROM clips_media WHERE id_clips = $1 AND file_type = 2
LOOP
t := t.file_name;
END LOOP;
END;
$$
LANGUAGE plpgsql;
을하고 난 오류가 : 이 ERROR: invalid input syntax for integer: "bfeO4RbZ5R1CUT8.jpg" CONTEXT: PL/pgSQL function clips_media_array(integer) line 6 at FOR over SELECT rows
이 사람이 나를 도울 수 있습니까?
이 (오류 메시지와 일치하지 않습니다 코드 당신의 코드에서'over'는 없습니다). 하지만 루프 나 함수가 필요 없습니다. 간단한'select array_agg (file_name) from clips_media where ...'는 잘 할 것입니다 –