我想在Posgresql中创建一个返回表的函数:
create or replace function my_func1(var1 integer, var2 integer[], var3 integer)
returns table(col1 integer, col2 integer, col3 timestamp)
as
begin
select .........
end;
language sql;
它说:
ERROR: syntax error at or near "begin"
答案 0 :(得分:2)
SQL
function中没有begin
。您的意思是创建plpgsql
function吗?
然后使用LANGUAGE plpgsql
代替
并将函数体用引号括起来,它是文本 - 最好是美元引号:
答案 1 :(得分:1)
试试这个:
create or replace function my_func1(var1 integer, var2 integer[], var3 integer)
returns table(col1 integer, col2 integer, col3 timestamp)
as
$func$
begin
return query
select .........
end;
$func$
language plpgsql;