我有一个函数func1()返回整数.
我想写另一个函数func2(模式整数),它可以返回func1()reults或做更多的东西. func1()的返回值是INTEGER类型.
这样的事情:
CREATE OR REPLACE FUNCTION func2(mode integer)
RETURNS integer AS
$$
begin
if mode=1 then
return func1(); -- NOT plpgsql syntax
end if;
more stuff .....
return 2;
end
$$
LANGUAGE plpgsql VOLATILE
我的问题是如何做返回func1(); ?
我知道我能做到:
select func1() into temp;
return temp;
但是如果有一种更加优雅的方式可以做到这一点,那我就是在想.
最佳答案 所有这些工作:
选项1:
CREATE OR REPLACE FUNCTION func2(mode integer)
RETURNS integer AS
$BODY$
DECLARE
_result integer;
BEGIN
_result = 2;
IF mode=1 THEN
_result = func1();
END IF;
--more stuff .....
RETURN _result;
END
$BODY$
LANGUAGE plpgsql VOLATILE COST 100;
选项2:
CREATE OR REPLACE FUNCTION func2(mode integer)
RETURNS integer AS
$BODY$
BEGIN
IF mode=1 THEN
RETURN func1();
END IF;
--more stuff .....
RETURN 2;
END
$BODY$
LANGUAGE plpgsql VOLATILE COST 100;