2011-12-01 2 views
0

테이블을 반복하고 반환 값을 처리하는 함수가 있습니다. 나는 SETOF VARCHAR[]을 돌려주고 RETURN NEXT the_varchar_array와 함께 돌아와서 잘 작동했습니다.PostgreSQL 함수에서 값 반환

하지만 이제는 VARCHAR[] 앞에 INTEGER을 돌려 주어야합니다.

INTEGER 값과 VARCHAR[]을 반환하는 반환 값을 어떻게 정의 할 수 있으며 함수 내부로 반환하는 방법은 무엇입니까?

RETURNS SETOF INTEGER, INTEGER, INTERGER, VARCHAR[]으로 정의하면 작동하지 않습니다.

RETURNS TABLE(a INTEGER, b INTEGER, c INTEGER, d VARCHAR[])을 사용하면 작동하지만 각 함수 값을 반환하는 방법을 모르겠습니다.

RETURN NEXT a,b,c,d이 작동하지 않습니다. RETURN NEXT 만 빈 줄을 반환합니다.

+0

[이 개발 문서 (http://developer.postgresql.org/pgdocs/postgres/xfunc-sql.html) PostgreSQL의에서이를 보여줍니다 OP의 요청에 대한 답변으로 전환 함수에서 값을 반환하는 다른 방법. 복합 리턴 유형이나 모든 값을 포함하는 데이터 행을 조사해야 할 수도 있습니다. –

+0

@Cory 복합 형을 사용하여 문제를 해결했습니다. 이 질문에 답하면 대답을 선택하십시오. –

+0

내 의견을 답으로 변환했습니다. –

답변

1

This development documentation (PostgreSQL)은 함수에서 값을 반환하는 여러 가지 방법을 보여줍니다. 복합 리턴 유형이나 모든 값을 포함하는 데이터 행을 조사해야 할 수도 있습니다.

주 - 주석

1

보십시오 : 당신은 당신이 원하는 정보를 반환 할 수 있도록해야

RETURNS SETOF record 

.