I'm getting the below error while running the below script. My goal is to create a function in Postgres to return 1 as a bigint. Help please!
hashtagpostgresnoobie
ERROR: function result type must be bigint because of OUT parameters
CREATE OR REPLACE FUNCTION GetNumberOne(
OUT numberone bigint)
RETURNS SETOF record AS
$BODY$
SELECT CAST(1 AS BIGINT) AS "NUMBERONE";
$BODY$
LANGUAGE sql VOLATILE;
You've suddenly encountered the feature ) Record needs two and more fields. So when you have only one out variable, then result must be scalar.
So, you can simply do what compilers ask )
CREATE OR REPLACE FUNCTION GetNumberOne(
OUT numberone bigint)
RETURNS bigint AS
$BODY$
SELECT CAST(1 AS BIGINT) AS "NUMBERONE";
$BODY$
LANGUAGE sql VOLATILE;
plpgsql example:
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()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With