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 中国語 Web サイトの他の関連記事を参照してください。