0

我正在将 Oracle 存储过程迁移到 AWS Aurora Postgres,它具有UTL_FILE在外部文件中读取和写入的操作。在异常部分,我使用了所有这些异常类型。 UTL_FILE.invalid_path, UTL_FILE.invalid_operation, UTL_FILE.invalid_mode, UTL_FILE.read_error, UTL_FILE.write_error, 和WHEN OTHERS.

是否可以在 Postgres 中处理所有这些异常,或者我应该去orafce扩展?

4

1 回答 1

1

据我所知,AWS Aurora Postgres 也使用 Orafce

https://aws.amazon.com/about-aws/whats-new/2020/06/amazon-aurora-supports-postgresql-versions-117-1012-and-9617-and-adds-global-database-for- postgresql-117/

Postgres 没有像 Oracle 这样的自定义命名异常,因此您必须稍微重写代码,而是必须检查错误消息 - 例如 - OracleUTL_FILE.write_error是 Postgres 的 RAISE 异常(名为raise_exception- P0001),带有错误消息(可在SQLERRM变量中或通过GET STACKED DIAGNOSTICS) 是"UTL_FILE_WRITE_ERROR"

于 2020-07-21T07:59:50.277 回答