gpt4 book ai didi

postgresql - 在 Postgresql 函数中使用返回状态

转载 作者:行者123 更新时间:2023-11-29 13:22:07 25 4
gpt4 key购买 nike

所以我有一个 sybase 存储过程,我正在将它移到 Postgres 9.5 中,但我似乎无法使它的一部分工作。在该过程中有一个 if 子句,最后返回 0,如下所示:在 Sybase 中:

if @param = true begin
select col1, col2
from table
where <condition>
return 0
end

如何使用 plpgsql 语言在 Postgres 函数中使用返回状态?

感谢任何帮助。

最佳答案

PostgreSQL 函数没有任何类似的返回状态。任何函数都应该返回数据或应该引发异常。返回状态不是必需的。 plpgsql 中的编程类似于 Oracle 的 PL/SQL 或 IBM 的 DB2。 Sybase、T-SQL 与 PLpgSQL 相去甚远 - 阅读手册是一个好的开始,因为很多事情都不一样 - https://www.postgresql.org/docs/current/static/plpgsql.html

您在 PLpgSQL 中的代码:

CREATE OR REPLACE FUNCTION foo(param boolean)
RETURNS SETOF tablename AS $$
BEGIN
IF param THEN
RETURN QUERY SELECT * FROM tablename
WHERE ..
ELSE
RAISE EXCEPTION 'xxxx';
END IF;
END;
$$ LANGUAGE plpgsql;

没有异常——类比返回状态0,异常——一些非零返回状态。

关于postgresql - 在 Postgresql 函数中使用返回状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39892712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com