gpt4 book ai didi

postgresql - 处理异常并从函数返回结果

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

这是我的代码

CREATE OR REPLACE FUNCTION test_excep (arg INTEGER) RETURNS INTEGER 
AS $$
DECLARE res INTEGER;
BEGIN
res := 100 / arg;

BEGIN
EXCEPTION
WHEN division_by_zero
THEN RETURN 999;
END;


RETURN res;
END;



$$
LANGUAGE plpgsql;

也就是说,如果被零除,我需要返回“999”,但是这个:SELECT test_excep(0)

返回错误:被零除
上下文:PL/pgSQL 函数 test_excep(integer) 第 4 行赋值

我的代码有什么问题?

最佳答案

EXCEPTION 子句需要与异常位于同一 block 中。

例如:

CREATE OR REPLACE FUNCTION test_excep (arg integer)
RETURNS integer
AS
$func$
DECLARE
res INTEGER;
BEGIN

res := 100 / arg;

RETURN res;

EXCEPTION
WHEN division_by_zero
THEN RETURN 999;

END
$func$
LANGUAGE plpgsql;

关于postgresql - 处理异常并从函数返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16985757/

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