Amazon Redshift
数据库开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

捕捉错误

存储过程执行期间出现的错误结束执行流程并结束事务。您可以使用 EXCEPTION 块捕捉错误。唯一支持的条件是 OTHERS,这会匹配除了查询取消之外的各个错误类型。

[ <<label>> ] [ DECLARE declarations ] BEGIN statements EXCEPTION WHEN OTHERS THEN handler_statements END;

在 Amazon Redshift 存储过程中,唯一支持的 handler_statement 是 RAISE。执行期间遇到的任何错误将自动结束整个存储过程调用并回退事务。出现这种情况的原因是不支持子事务。

如果异常处理块中出现错误,错误会传播出去并可由外部异常处理块(如果存在)捕获。