首页 > 数据库 > 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板