RAISE EXCEPTION

最近更新时间: 2024-06-12 15:06:00

postgres=# CREATE OR REPLACE PROCEDURE p_exception() AS
$$    
DECLARE
    v_int INTEGER := 1;
BEGIN           
    RAISE EXCEPTION '程序EXCEPTION ';
    --下面的语句不会再执行
    RAISE NOTICE 'v_int = %, 随机数 = %',v_int,random(); 
END;
$$
LANGUAGE plpgsql;
CREATE PROCEDURE
postgres=# CALL p_exception();
ERROR:  程序EXCEPTION 
CONTEXT:  PL/pgSQL function p_exception() line 5 at RAISE
postgres=# 

如果在事务中执行这个存储过程,则事务会中止(abort)。