ホームページ > データベース > mysql チュートリアル > 仮想テーブルを返す Postgres 関数を作成するにはどうすればよいですか?

仮想テーブルを返す Postgres 関数を作成するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-04 04:20:39
オリジナル
218 人が閲覧しました

How Can I Create a Postgres Function That Returns a Virtual Table?

Postgres の関数から仮想テーブルを返す

カスタム スキーマを使用して仮想テーブルを返す Postgres 関数を作成できます。このタイプのテーブル構造は、明確な数の列と行で構成されます。

PL/pgSQL 関数の構文

最新の PL/pgSQL バージョン (PostgreSQL 8.4 以降)構文は次のとおりです:

CREATE OR REPLACE FUNCTION function_name()
  RETURNS TABLE (column1 data_type, column2 data_type, column3 data_type) AS
$func$
BEGIN
  RETURN QUERY VALUES
  (value1, value2, value3),
  (value4, value5, value6);

END;
$func$  LANGUAGE plpgsql IMMUTABLE ROWS number_of_rows;
ログイン後にコピー

重要ポイント:

  • カスタム行タイプを指定するには RETURNS TABLE を使用します。
  • テーブルにデータを入力するには RETURN QUERY VALUES を使用します。
  • 複数の挿入には VALUES を使用します。行を手動で追加します。
  • 既知のテーブルに従ってnumber_of_rowsを調整します。サイズ。
  • 特殊な場合を除き、正当な識別子から二重引用符を削除します。
  • 結果が変わらない場合は、変動性を IMMUTABLE に設定します。

SQL 関数構文

単純な場合には、次の SQL を使用します。関数:

CREATE OR REPLACE FUNCTION function_name()
RETURNS TABLE (column1 data_type, column2 data_type, column3 data_type) AS
$func$
SELECT *
FROM (
  VALUES
    (value1, value2, value3),
    (value4, value5, value6)
) AS table_name(column1, column2, column3);

$func$  LANGUAGE sql IMMUTABLE ROWS number_of_rows;
ログイン後にコピー

以上が仮想テーブルを返す Postgres 関数を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート