Nic*_*aro 8 sql postgresql casting type-conversion
运行以下脚本时,我收到以下错误.我的目标是在Postgres中创建一个函数,将1作为bigint返回.请帮忙!
hashtagpostgresnoobie
错误:由于OUT参数,函数结果类型必须是bigint
CREATE OR REPLACE FUNCTION GetNumberOne(
OUT numberone bigint)
RETURNS SETOF record AS
$BODY$
SELECT CAST(1 AS BIGINT) AS "NUMBERONE";
$BODY$
LANGUAGE sql VOLATILE;
Run Code Online (Sandbox Code Playgroud)
Tim*_*kov 15
你突然遇到了这个功能)记录需要两个或更多的字段.因此,当您只有一个变量时,结果必须是标量.
所以,你可以简单地做编译器问的问题)
CREATE OR REPLACE FUNCTION GetNumberOne(
OUT numberone bigint)
RETURNS bigint AS
$BODY$
SELECT CAST(1 AS BIGINT) AS "NUMBERONE";
$BODY$
LANGUAGE sql VOLATILE;
Run Code Online (Sandbox Code Playgroud)
plpgsql示例:
CREATE OR REPLACE FUNCTION NumberOne()
RETURNS bigint AS
$BODY$
DECLARE num bigint;
BEGIN
num := 1;
RETURN num;
END
$BODY$
LANGUAGE plpgsql VOLATILE;
select * from NumberOne()
Run Code Online (Sandbox Code Playgroud)