Je suis novice en postgresql et crée une fonction comme ci-dessous
CREATE OR REPLACE FUNCTION GetLogs(
_from Date,
_to Date,
_sortBy TEXT,
_orderby INT,
_page INT,
_row INT)
RETURNS TABLE (
"Id" UUID,
"RequestHeaders" text,
"RequestContent" text,
"ResponseHeaders" text,
"ResponseContent" text,
"ResponseCode" integer,
"ExecutionTimeMs" integer,
"Description" text,
"RecordedOn" timestamp with time zone,
"Username" character varying,
"Exception" text)
AS $$
BEGIN
RETURN QUERY
SELECT COUNT(1)
FROM dbo."Logs" log
where log."RecordedOn" >= $1 and log."RecordedOn" <= $2;
RETURN QUERY
SELECT log.*
FROM dbo."Logs" log
where log."RecordedOn" >= $1 and log."RecordedOn" <= $2
Offset ($5-1) * $6
Limit $6;
END;
$$ LANGUAGE plpgsql;
, et l'appeler en utilisant
select * from GetLogs('2020-02-11','2020-02-12','Date',0,1,10)
Je m'attends à ce qu'il y ait un comptage et des données de table, mais une erreur se produit
ERROR: structure of query does not match function result type
DETAIL: Returned type bigint does not match expected type uuid in column 1.
est-ce que quelqu'un peut le résoudre ?