2013-07-05 3 views
0

하나 이상의 행을 반환하는 postgresql 함수를 만들려고합니다. 내가 pgadmin3를 사용하여이 코드를 테스트 할 때, 나는 하나의 데이터 열을 얻을postgresql 함수 - 행의 데이터 집합을 반환하는 방법

CREATE OR REPLACE FUNCTION getallwidgets() 
    RETURNS SETOF widgets AS 
$BODY$ 
SELECT * FROM widgets; 
$BODY$ 
    LANGUAGE sql VOLATILE 
    COST 100 
    ROWS 1000; 
ALTER FUNCTION getallwidgets() 
    OWNER TO postgres; 

쉼표로 구분 된 각 필드에, 다음은 같은 코드가 어떻게 표시되는지를 보여줍니다. 내가 궁금한 건, 개별 필드를 나열하는 방법입니다. 그래서 저장된 프로 시저를 호출하는 코드에서 데이터 세트를 반복 할 때 각 필드를 열 이름으로 참조 할 수 있습니다.

감사합니다.

EDIT 1

pgadmin3에서

, 내가 스크립트를 실행할 때 출력 창에서 내가 ONE 열에서 다음과 같은 데이터를 얻을 : 즉

(1, "widget1","this is my description", 1) 
(2, "another widget","description2", 3) 

, 나는 두 행을 얻을 위의 데이터가 한 열에 표시됩니다. 나는 기다리고 있었다 : (당신이 그들을 알고있는 경우)

id  name    description     user_id 
1  "widget1"  "this is my description"   1 
2  "another widget" "description2"     3 
+0

정말인가요? 방금이 코드를 db에서 테스트했는데 실제로받는 필드는 별도의 필드입니다. 위젯 테이블에서 산출물과 일부 데이터 예제를 제공 할 수 있습니까? – cathulhu

+0

카를루스, 내 게시물을 업데이트했습니다. 체크 아웃 edit1 –

답변

-1

당신은 출력에서 ​​열 이름을 참조 할 수 있습니다. 당신이 열 위젯 테이블에 COL1, COL2, COL3라는 이름의 한 예를 들어, 당신은 실행할 수 :

SELECT col1, col2, col3 
FROM getallwidgets(); 

당신이 후에 어떤 것인가요?

+0

그 작품! 매우 감사합니다. –

관련 문제