reb*_*oob 9 postgresql types stored-procedures function
如何将简单的选择查询转换为select * from customers
pg中的存储过程/函数?
我是Postgres的新手,create function customers() as returns table/setof
只是感觉不对,因此问题就在这里.
我知道触发器在pg land中被称为"函数".因此不存在,我唯一的选择是创建视图或功能.问题是create procedure
create function x() returns setof y
返回一个paren'd逗号分隔的值行,如果没有进一步处理就不能使用(至少这是我在pgAdmin和Ruby/Sequel中看到的).
create function x() returns table(...)
要求我嵌入我不想要的行定义.
我确信这背后有一个原因,但我很惊讶最常见的用例是这个棘手的.
Erw*_*ter 17
问题是"create function x()return setof y"返回一个paren'd逗号分隔的行值,如果没有进一步处理就无法使用
由于函数返回记录/行类型,因此必须使用它来调用它
SELECT * FROM getcustomers();
Run Code Online (Sandbox Code Playgroud)
将返回的行分解为单个列.
关于CREATE FUNCTION的手册应该是一个很好的起点.示例部分介绍了此主题.
Cra*_*ger 13
未经测试但应该是正确的:
CREATE OR REPLACE FUNCTION getcustomers() RETURNS SETOF customers AS $$
SELECT * FROM customers;
$$ LANGUAGE sql;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23613 次 |
最近记录: |