对于PostgreSQL中Oracle的VALUE\u错误,什么样的PL/pgSQL异常是等效的?
我正在编写一个异常函数,相当于捕获PostgreSQL中Oracle中的值错误。PostgreSQL中是否有替换项对于PostgreSQL中Oracle的VALUE\u错误,什么样的PL/pgSQL异常是等效的?,postgresql,exception-handling,plpgsql,postgresql-9.4,Postgresql,Exception Handling,Plpgsql,Postgresql 9.4,我正在编写一个异常函数,相当于捕获PostgreSQL中Oracle中的值错误。PostgreSQL中是否有替换项 CREATE OR REPLACE FUNCTION TEST (a TEXT, b TEXT) RETURNS INTEGER AS $SUCCESS$ DECLARE SUCCESS INTEGER; BEGIN SUCCESS = 0; BEGIN UPDATE TABLE_TEST SET ***** WHER
CREATE OR REPLACE FUNCTION TEST (a TEXT, b TEXT)
RETURNS INTEGER AS $SUCCESS$
DECLARE SUCCESS INTEGER;
BEGIN
SUCCESS = 0;
BEGIN
UPDATE TABLE_TEST
SET *****
WHERE ***;
SUCCESS = 1;
EXCEPTION
WHEN VALUE_ERROR /* throwing error as there is no value-error in postgres */
SUCCESS = 0;
UPDATE TABLE_TEST
SET *****
WHERE ***;
SUCCESS = 2;
WHEN OTHERS THEN
SUCCESS = 3;
UPDATE TABLE_TEST
SET *****
WHERE ***;
SUCCESS = 4;
END;
RETURN SUCCESS;
END;
$SUCCESS$ LANGUAGE plpgsql;
它应该与PostgreSQL中的值\u错误异常等价。我将使用数据\u异常,请参阅
这实际上是一类异常,包含了所有可能出现数据错误的情况,但我认为这是最好的替代方法。为什么不在postgres中执行该操作,看看引发了什么类型的异常?@Syedasamreenanjum如果解决了您的问题,请接受答案。