postgresql - 返回行的简单 PostgreSQL 函数

标签 postgresql function stored-procedures types

如何将一个简单的选择查询(如 select * from customers)转换为 pg 中的存储过程/函数?

我是 Postgres 的新手,create function customers() as returns table/setof 感觉不对,因此这里有问题。

我知道 proc 在 pg 领域被称为“函数”。因此 create procedure 不存在,我唯一的选择是创建 View 或函数。问题是 create function x() returns setof y 返回一个以逗号分隔的值行,如果没有进一步处理就不能使用(至少这是我在 pgAdmin 和 Ruby 中看到的/续集)。

create function x() returns table(...) 要求我嵌入我不想嵌入的行定义。

我确信这一切背后都有原因,但我很惊讶最常见的用例如此棘手。

最佳答案

未经测试但应该是正确的:

CREATE OR REPLACE FUNCTION getcustomers() RETURNS SETOF customers AS $$
SELECT * FROM customers;
$$ LANGUAGE sql;

关于postgresql - 返回行的简单 PostgreSQL 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14178470/

相关文章:

javascript - 用户在输入字段中输入前 4 位数字后运行函数

php - 改进我的 Zend 存储过程调用代码

sql-server - 链接服务器的存储过程错误

sql - 为什么在 WINDOW FUNCTION 中使用 GROUP BY

java - hibernate 没有获取序列的 next_val

postgresql - 如何在 docker 中为 postgresql 创建 postgis 扩展?

c++ - 使用虚函数与​​ dynamic_cast

php - 你如何处理慈善捐款?

c - 使用 switch 语句和函数时程序 (C) 崩溃

c# - 如何使用 .NET CORE 获取存储过程的实际结果?