Return 错误号
Return error number
我想 return 使用 PostgreSQL 9.3 版本的错误号。
我提到了这个 :-> http://www.postgresql.org/docs/9.4/static/errcodes-appendix.html
但想知道如何 return 错误编号。
在SQL Server 2008 R2 中我们只使用@@ERROR
..
示例:
IF @@ERROR <> 0
BEGIN
PRINT 'Error message';
RETURN(1);
END
我的问题:我们可以在 PostgreSQL 中获取错误编号,就像在 SQL 服务器中使用 @@ERROR
一样吗?
在 PL/pgSQL 中,您必须 trap errors and you can raise(自定义)错误。 (出错时停止正常执行。)
PostgreSQL 中的错误有级别,error codes(SQLSTATE
)和显式名称。
F.ex:
BEGIN
-- code that can potentially raise an error
EXCEPTION
WHEN division_by_zero THEN -- trap by name
-- handle division_by_zero
WHEN SQLSTATE '22012' THEN -- trap by SQLSTATE
-- handle SQLSTATE 22012
WHEN OTHERS THEN -- trap all other error
RAISE no_data; -- raise error by name
RAISE SQLSTATE '02000'; -- raise error by SQLSTATE
END
我想 return 使用 PostgreSQL 9.3 版本的错误号。
我提到了这个 :-> http://www.postgresql.org/docs/9.4/static/errcodes-appendix.html
但想知道如何 return 错误编号。
在SQL Server 2008 R2 中我们只使用@@ERROR
..
示例:
IF @@ERROR <> 0
BEGIN
PRINT 'Error message';
RETURN(1);
END
我的问题:我们可以在 PostgreSQL 中获取错误编号,就像在 SQL 服务器中使用 @@ERROR
一样吗?
在 PL/pgSQL 中,您必须 trap errors and you can raise(自定义)错误。 (出错时停止正常执行。)
PostgreSQL 中的错误有级别,error codes(SQLSTATE
)和显式名称。
F.ex:
BEGIN
-- code that can potentially raise an error
EXCEPTION
WHEN division_by_zero THEN -- trap by name
-- handle division_by_zero
WHEN SQLSTATE '22012' THEN -- trap by SQLSTATE
-- handle SQLSTATE 22012
WHEN OTHERS THEN -- trap all other error
RAISE no_data; -- raise error by name
RAISE SQLSTATE '02000'; -- raise error by SQLSTATE
END