如何将一个简单的选择查询(如 select * from customers
)转换为 pg 中的存储过程/函数?
我是 Postgres 的新手,create function customers() as returns table/setof
感觉不对,因此这里有问题。
我知道 proc 在 pg 领域被称为“函数”。因此 不存在,我唯一的选择是创建 View 或函数。问题是 create procedure
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/