gpt4 book ai didi

sql - 如何用查询结果声明变量?

转载 作者:行者123 更新时间:2023-11-29 12:38:03 26 4
gpt4 key购买 nike

我创建了函数并想分配查询的变量结果:

CREATE OR REPLACE FUNCTION GetData
(
OUT outValue integer
)
AS $$
DECLARE
records "Records";
BEGIN
records := (SELECT "Value1" FROM "Records");
outValue := (SELECT sum("Value1") FROM records)
END;
$$ LANGUAGE plpgsql;

但是,postgresql 说:

"ERROR: subquery in an expression returned more than one row."

如果声明一个 <"Records"%ROWTYPE> 类型的变量,我们有相同的结果错误。

如何声明带有查询结果的变量?

最佳答案

如果您只想返回一个值,为什么不将函数声明为 returns integer 并使用如下内容:

CREATE OR REPLACE FUNCTION GetData()
returns integer
AS $$
SELECT sum("Value1")::integer FROM "Records";
$$ LANGUAGE sql;

顺便说一句:我强烈建议停止使用带引号的标识符并去掉双引号。从长远来看,这将为您省去很多麻烦。

关于sql - 如何用查询结果声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19744076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com