gpt4 book ai didi

postgresql - 函数的postgres错误处理

转载 作者:行者123 更新时间:2023-12-03 08:30:53 24 4
gpt4 key购买 nike

我尝试运行运行其他功能的功能并捕获错误,以防其中一个或几个功能失败。
该函数是这样的(我删除了不必要的部分):

CREATE OR REPLACE FUNCTION func()
RETURNS void
LANGUAGE plpgsql
AS $function$

BEGIN
cur_time:=now();
FOR r IN select func_num FROM mytable order by func_num
LOOP

select schema , function_name, last_run, period into _schema, _func_name,_last_run, _period from mytable
;

if _last_run+_period <=cur_time then perform _schema||'.'||_func_name||'()' ; end if;


EXCEPTION WHEN OTHERS THEN

RAISE NOTICE 'exception (code=%): %', SQLCODE, SQLERRM;
_error:=SQLCODE;

if _last_run+_period >=cur_time then update mytable set error=_error where schema=_schema and function_name=_func_name; end if;

END LOOP;

RETURN;

END;

我收到以下错误:“错误:错误:“EXCEPTION”或附近的语法错误“,我找不到它:((

将不胜感激!

最佳答案

如果您阅读relevant part of the manuals,将会看到您需要BEGIN ... EXCEPTION

...
LOOP
BEGIN
...
EXCEPTION
...
END;
END LOOP;

关于postgresql - 函数的postgres错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24507380/

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