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

存储过程支持的限制和区别

以下约束在您使用 Amazon Redshift 存储过程时适用。

Amazon Redshift 与 PostgreSQL 的存储过程支持区别

Amazon Redshift 与 PostgreSQL 中的存储过程支持之间存在下列区别:

  • Amazon Redshift 不支持子事务,因此对异常处理块的支持有限。

限制

以下是 Amazon Redshift 中对存储过程的限制:

  • 过程的源代码最大大小为 2 MB。

  • 在一个用户会话中,您可以并发打开的显式和隐式游标的最大数量为 1。对 SQL 语句结果集进行迭代的 FOR 循环打开隐式游标。不支持嵌套游标。

  • 显式和隐式游标在结果集大小上与标准 Amazon Redshift 游标具有相同的限制。有关更多信息,请参阅游标约束

  • 嵌套调用的最大层数为 16。

  • 对于输入参数,过程参数的最大数量为 16,对于输出参数为 32。

  • 存储过程中变量的最大数量为 1024。

  • 在存储过程内部,不支持任何需要自己的事务上下文的 SQL 命令。示例包括 VACUUM、ALTER TABLE APPEND 和 CREATE EXTERNAL TABLE。

  • 对于 refcursor 数据类型,不支持通过 Java Database Connectivity (JDBC) 驱动程序调用 registerOutParameter 方法。 有关使用 refcursor 数据类型的示例,请参阅返回结果集

本页内容: