我只是有一个表格,其中包含国家列表及其ISO国家/地区代码.我将查询包装在存储过程(也称为函数)中,例如:
原文链接:https://www.f2er.com/postgresql/192187.htmlCREATE OR REPLACE FUNCTION get_countries( ) RETURNS setof record AS $$ SELECT country_code,country_name FROM country_codes $$LANGUAGE sql;
我得到的错误是:
ERROR: a column definition list is required for functions returning "record"
我知道我可以定义一个TYPE,然后像光标一样循环遍历记录集,但是在更新版本的Postgresql(我使用的是8.4.3)下,有更好的方法可以做到这一点但是我正在尝试要记住.
编辑:
这有效:
CREATE OR REPLACE FUNCTION get_countries( ) RETURNS setof country_codes AS $$ SELECT country_code,country_name FROM country_codes $$LANGUAGE sql;
请注意“RETURNS setof [table name]”.但它似乎并不是最灵活的.如果我尝试返回多个表的连接,它就会崩溃.