집 >데이터 베이스 >MySQL 튜토리얼 >PostgreSQL 함수에서 가상 테이블을 생성하고 반환하는 방법은 무엇입니까?
Postgres 함수에서 가상 테이블 반환
Postgres에서는 다음을 사용하여 가상 테이블(Oracle의 가상 테이블과 유사)을 생성할 수 있습니다. 기능. 이 함수를 사용하면 정의된 구조와 콘텐츠가 있는 사용자 정의 테이블을 반환할 수 있습니다.
올바른 구문
제공한 함수에 대해 수정된 구문은 다음과 같습니다.
CREATE OR REPLACE FUNCTION "public"."storeopeninghours_tostring" (open_id numeric) RETURNS TABLE (a int, b int, c int) AS DECLARE returnrecords RECORD; BEGIN INSERT INTO returnrecords(a, b, c) VALUES (1, 2, 3); INSERT INTO returnrecords(a, b, c) VALUES (3, 4, 5); INSERT INTO returnrecords(a, b, c) VALUES (3, 4, 5); RETURN TABLE returnrecords; END;
열쇠 포인트
함수 호출
이제 함수를 호출하여 가상 테이블을 가져올 수 있습니다.
SELECT * FROM "public"."storeopeninghours_tostring"(<open_id>);
대체 구문
Postgres 8.4 또는 나중에 다음 PL/pgSQL 구문을 사용할 수도 있습니다.
CREATE OR REPLACE FUNCTION f_foo() RETURNS TABLE (a int, b int, c int) AS $$ BEGIN RETURN QUERY VALUES (1, 2, 3), (3, 4, 5), (3, 4, 5); END; $$ LANGUAGE plpgsql;
간단한 SQL 솔루션
이와 같은 간단한 경우에는 간단한 구문을 사용할 수도 있습니다. SQL 문:
VALUES (1, 2, 3), (3, 4, 5), (3, 4, 5)
위 내용은 PostgreSQL 함수에서 가상 테이블을 생성하고 반환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!