Postgresql-在另一个函数中执行函数,并在出现错误时继续执行下一个函数

Postgresql-在另一个函数中执行函数,并在出现错误时继续执行下一个函数,postgresql,plpgsql,Postgresql,Plpgsql,我在Postgresql 9.3中有两个函数: CREATE OR REPLACE FUNCTION Function_A(param_id integer, param_name text) RETURNS void AS $BODY$ DECLARE my_id integer; my_name text; BEGIN my_id = somefunction(param_id); my_name = somefunction(param_name); in

我在Postgresql 9.3中有两个函数:

CREATE OR REPLACE FUNCTION Function_A(param_id integer, param_name text)
  RETURNS void AS
$BODY$
DECLARE

my_id integer;
my_name text;

BEGIN

    my_id = somefunction(param_id);
    my_name = somefunction(param_name);
    insert into tableA(id, name) values (my_id, my_name);

END

  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION Function_A(integer, text)
  OWNER TO postgres;

所以,我有一个问题,当函数A返回错误时,函数B不会将数据插入表C

我想要这样的东西:

如果执行函数A返回错误resume next,那么我的函数B可以将数据插入表C并继续执行而不会出现问题


这可能吗?

如果没有实际的SQL代码,我们实际上无法为您提供那么多帮助。如果要强制函数继续而不关心错误,则可以使用SQL异常语法

EXCEPTION WHEN OTHERS THEN
    -- keep looping
END;

我编辑了我的帖子,但我是新来的,不知道如何设置这些函数的格式以使其看起来更漂亮。这两个函数是如何调用的?两个呼叫是否都是同一事务的一部分?是的,它是同一事务。我想继续处理事务,即使函数A返回错误。
EXCEPTION WHEN OTHERS THEN
    -- keep looping
END;