我一直试图在postgres中返回一个SQL计数函数作为INTEGER,但是它总是返回以下错误ERROR: current transaction is aborted, commands ignored until end of transaction block
。我尝试了以下查询及其变体,但始终会导致相同的失败。
我也看到了cannot use RETURN QUERY in a non-SETOF function
。
CREATE OR REPLACE FUNCTION "GetUser"(
"@id" UUID
)
RETURNS INTEGER AS
$func$
BEGIN
RETURN (
SELECT COUNT("id")
FROM "users" as u
WHERE u."id" = "@id"
);
END;
$func$ LANGUAGE PLPGSQL;
答案 0 :(得分:0)
现在正在工作。我认为问题在于与另一个同名功能发生冲突。但是我也刷新并重新启动了所有内容,所以我不能保证这是解决方案。
但是它确实可以正常工作。