我有一个带有多个查询的postgresql函数来验证表数据。但是如果查询之一发生错误,那么函数的整个过程就会停止。但我想要的是,它应该通过引发错误警告错误而不是逃避错误并继续执行其他查询来打印错误。
--Begin function
BEGIN
----- query 1--------
EXCEPTION
WHEN others THEN
------------------'Exception in query 1';------------
END;
BEGIN
------------------------ Query 2---------------------
EXCEPTION
WHEN others THEN
-------------------'Exception in query 2';-------------------
END;
--End function
这是我使用异常的代码,但我在函数中有超过100个查询,所以我必须将每个查询放在异常块中。我要求一些其他简单的方法来解决问题。
答案 0 :(得分:2)
您可以使用嵌套块来处理某些代码抛出的异常,如下所示:
--Begin function
BEGIN
--Validation query 1
EXCEPTION
WHEN others THEN
RAISE INFO 'Exception in query 1';
END;
BEGIN
-- Query 2
EXCEPTION
WHEN others THEN
RAISE INFO 'Exception in query 2';
END;
--End function