我在postgres上创建了一个函数,以进行一些数学计算并返回具有所获得结果的表, 问题是,如果辅助表上没有数据(COUNT = 0),则结果为空。 在函数开始时,在返回时,我指示要返回的表具有3列,为此,我认为在这种情况下,我应该返回3个空值的选择,但这没有用。
错误:查询的结构与函数结果类型不匹配
我试图返回NULL或SELECT NULL,NULL,NULL,但是它们都不起作用。
CREATE OR REPLACE FUNCTION myfunction(idUsuario integer)
RETURNS TABLE(X FLOAT, Y FLOAT, Z FLOAT) AS
$$
DECLARE
n INTEGER;
BEGIN
SELECT COUNT(*) INTO n FROM...;
IF n = 0 THEN
return QUERY SELECT NULL, NULL, NULL;
END IF;
--more code
RETURN QUERY SELECT X, Y, Z FROM ...;
END
$$
LANGUAGE plpgsql;
我希望得到一个包含一个文件和一个包含NULL数据的三列的表。单个NULL数据也将很有用。
非常感谢您!