PostgreSQL:控件已到达函数结尾,但未返回
我试图创建一个返回X行或0行的函数 这是我的代码:PostgreSQL:控件已到达函数结尾,但未返回,postgresql,plpgsql,Postgresql,Plpgsql,我试图创建一个返回X行或0行的函数 这是我的代码: ... IF var != '' THEN RETURN var; ELSE RETURN NULL; END IF; END; $$ LANGUAGE 'plpgsql'; 如果我这样做: ... IF var != '' THEN RETURN var; ELSE RETURN; END IF; END; $$
...
IF var != '' THEN
RETURN var;
ELSE
RETURN NULL;
END IF;
END;
$$
LANGUAGE 'plpgsql';
如果我这样做:
...
IF var != '' THEN
RETURN var;
ELSE
RETURN;
END IF;
END;
$$
LANGUAGE 'plpgsql';
我得到一个错误:
ERROR: missing expression at or near ";"
LINE 19: RETURN;
您定义的普通函数(
返回文本
)总是只返回一个值
因此,除非函数定义为返回void
,否则必须返回一个值,即不能使用返回代码>没有参数
如果要返回不同数量的行(0或大于1的数字),则需要一个set returning函数
这样的函数被声明为返回文本集
(或其他类型),并且从函数内部使用返回下一个值
向函数输出中添加一行,并返回代码>无参数终止执行
这样的函数可以像查询中的表一样使用。像您定义的那样的普通函数(返回文本)
)总是只返回一个值
因此,除非函数定义为返回void
,否则必须返回一个值,即不能使用返回代码>没有参数
如果要返回不同数量的行(0或大于1的数字),则需要一个set returning函数
这样的函数被声明为返回文本集
(或其他类型),并且从函数内部使用返回下一个值
向函数输出中添加一行,并返回代码>无参数终止执行
这样的函数可以像查询中的表一样使用。它是否返回void?。它返回文本:返回文本为$$,请向我们显示完整的代码,因为StackOVerflow拒绝更新。表示代码多于文本。是否声明了输出变量?。。我的意思是,如果您没有返回void?,您就不能不返回任何内容。它返回文本:返回文本为$$,请向我们显示完整的代码,因为StackOVerflow拒绝更新。表示代码多于文本。是否声明了输出变量?。。我的意思是,如果你不回来,你就不能什么都不回来