이 많은 PostgreSQL을 저장 프로 시저는 자신의 사용을 통해 사전에 기록 된 값을 반환하고, 천천히 확장
1, 형상은 PostgreSQL을 지원 어떤 유형이 될 수 있습니다 유형 유형 (정수 / 텍스트 / 문자가 다양한 .....)
CREATE OR REPLACE FUNCTION의 테스트를 ( TBL의 캐릭터가 변화 ) RETURNS 형상을 그대로 $ BODY $가 선언 v_res 형상을; - 最终结果 시작 반환 v_res을; 끝 ; $ BODY의 $의 언어의 plpgsql 휘발성 엄격한 비용 (100) ; ALTER 기능의 테스트를 ( 문자 변화 ) OWNER TO 포스트 그레스;
2, 테이블 형식, 반환 데이터 세트는 수익을 정의하는 것은 자신의 필드 복귀와 여기에 선택 쿼리 실행 반환을 필요로
CREATE OR REPLACE FUNCTION의 (테스트 IN TBL의 캐릭터 변화 ) RETURNS TABLE (v_gid 정수 형상을 v_res) AS $ BODY $가 선언 시작 - 执行返回结果 반환 쿼리 선택 v_uptap_gid 로 res_uptap_gid, v_uptap_geom 로 res_uptap_geom; 끝 ; $ BODY의 $의 언어 plpgsql 휘발성 엄격한 비용 100 ROWS 1000 ; ALTER FUNCTION의 (테스트캐릭터 변화 ) OWNER TO 포스트 그레스;
3, SETOF 테이블 / 뷰 모델은, 데이터 세트에 반환 반환 된 데이터는 일반적으로 테이블 룩업 인
하지만, 새로운 필드가하지 않을 테이블의 기존 필드해야합니다 (예를 들어, 내가 유형 식별 할 '유형을 선택합니다가. * TB A에서'반환시)
편리한 장소 복귀 력 필드 (수있다 'TB SELECT *')를 정의하지
CREATE OR REPLACE FUNCTION의 (테스트 IN TBL의 캐릭터 변화 ) RETURNS SETOF의 표 AS $ BODY의 $의 선언이 시작 SELECT *을 에서 표; - 或者 반환 쿼리는 선택 * 에서 표를; 끝 ; $ BODY의 $의 언어 plpgsql 휘발성 엄격한 비용 100 ROWS 1000 ; ALTER의 기능의 테스트 ( 캐릭터가 변화 ) OWNERTO 포스트 그레스;
데이터 세트를 기록 입력 SETOF (3)는 상기 SETOF 나타난 유사한 반환
차이점은 사람들이 필드를 취할 요구, 내가 기록의 모든 필드 SETOF 반환 할 수있다
CREATE OR REPLACE FUNCTION의 (테스트 IN TBL의 캐릭터 변화 ) RETURNS SETOF 기록 AS $ BODY의 $의 선언 R 레코드를; 시작 에 대한 연구 에서 EXECUTE ' TB SELECT * FROM ' 루프 반환 다음 R; 결국 루프; 반환 ; 끝 ; $ BODY의 $의 언어 plpgsql 휘발성 엄격한 비용 100 ROWS 1000 ; ALTER의 기능테스트 ( 문자는 변화 ) OWNER TO 포스트 그레스; - 调用 선택 * 에서 테스트 ( ' TB ' ) 과 같은 부재 (아이디 INT , 이름 텍스트 );