Postgres의 함수에서 가상 테이블 반환
Postgres에서 함수를 사용하여 여러 행과 열이 있는 사용자 정의 가상 테이블을 생성하려면 특정 통사론. 이 문서에서는 가상 테이블과 유사한 레코드 집합을 반환하는 함수를 올바르게 작성하는 방법을 보여줍니다.
올바른 구문
3개의 가상 테이블을 반환하는 함수를 정의하려면 정수 열에는 다음 PL/pgSQL을 사용하십시오. code:
CREATE OR REPLACE FUNCTION f_foo() RETURNS TABLE (a int, b int, c int) AS $func$ BEGIN RETURN QUERY VALUES (1,2,3) , (3,4,5) , (3,4,5) ; END $func$ LANGUAGE plpgsql IMMUTABLE ROWS 3;
설명
대체 옵션
간단한 SQL: 간단한 시나리오의 경우 일반 SQL 문으로 충분합니다.
VALUES (1,2,3), (3,4,5), (3,4,5)
SQL 함수: 위의 내용을 감쌀 수도 있습니다. SQL 함수의 명령문:
CREATE OR REPLACE FUNCTION f_foo() RETURNS TABLE (a int, b int, c int) AS $func$ VALUES (1, 2, 3) , (3, 4, 5) , (3, 4, 5); $func$ LANGUAGE sql IMMUTABLE ROWS 3;
사용
가상 테이블을 검색하려면:
SELECT * FROM f_foo();
위 내용은 Postgres 함수에서 가상 테이블을 반환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!