无法 运行 带有 select 语句的函数
Unable to run a function with a select statement
我想构建一个 sql 函数,其中 returns 行数组基于 select 语句,不幸的是我无法让它工作。
create or replace function latestOilFee()
return array
IS
Begin
select * from oil_tracker order by ts desc fetch first 1 row only;
End;
控制台抛出错误
syntax error at or near "return"
不应该是RETURNS(不是RETURN)吗?
有多个错误
- RETURNS 而不是 RETURN
- 对于 ARRAY,您必须像文本一样提及[]
CREATE OR REPLACE FUNCTION latestOilFee()
RETURNS text[] AS $$
select array[fieldname::text, fieldname::text]
FROM oil_tracker limit 1
$$
LANGUAGE SQL;
请检查上面,你应该在创建数组时提到字段类型
我想构建一个 sql 函数,其中 returns 行数组基于 select 语句,不幸的是我无法让它工作。
create or replace function latestOilFee()
return array
IS
Begin
select * from oil_tracker order by ts desc fetch first 1 row only;
End;
控制台抛出错误
syntax error at or near "return"
不应该是RETURNS(不是RETURN)吗?
有多个错误
- RETURNS 而不是 RETURN
- 对于 ARRAY,您必须像文本一样提及[]
CREATE OR REPLACE FUNCTION latestOilFee()
RETURNS text[] AS $$
select array[fieldname::text, fieldname::text]
FROM oil_tracker limit 1
$$
LANGUAGE SQL;
请检查上面,你应该在创建数组时提到字段类型