我正在使用三个插入语句,如果第三个语句出现错误,我希望回滚第一个和第二个语句。如果没有办法做到这一点,请告诉我在PostgreSQL中处理此类问题的不同方法。
如果我使用COMMIT或ROLLBACK,我会收到一个错误。
如果我使用COMMIT或ROLLBACK,我会收到一个错误。
CREATE OR REPLACE FUNCTION TEST1 ()
RETURNS VOID
LANGUAGE 'plpgsql'
AS $$
BEGIN
INSERT INTO table1 VALUES (1);
INSERT INTO table1 VALUES (2);
INSERT INTO table1 VALUES ('A');
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END;$$;
上述代码无法工作;COMMIT
和ROLLBACK
在PostgreSQL函数中不受支持。