存储过程限制
本主题介绍 Amazon Redshift 存储过程的限制。
以下注意事项在您使用 Amazon Redshift 存储过程时适用。
Amazon Redshift 与 PostgreSQL 的存储过程支持区别
Amazon Redshift 与 PostgreSQL 中的存储过程支持之间存在下列区别:
Amazon Redshift 不支持子事务,因此对异常处理数据块的支持有限。
注意事项和限制
以下是 Amazon Redshift 中存储过程的注意事项:
数据库的最大存储过程数为 10000 个。
过程的源代码最大大小为 2 MB。
在一个用户会话中,您可以并发打开的显式和隐式游标的最大数量为 1。对 SQL 语句结果集进行迭代的 FOR 循环打开隐式游标。不支持嵌套游标。
显式和隐式游标在结果集大小上与标准 Amazon Redshift 游标具有相同的限制。有关更多信息,请参阅 游标约束。
嵌套调用的最大层数为 16。
对于输入参数,过程参数的最大数量为 16,对于输出参数为 32。
存储过程中变量的最大数量为 1024。
在存储过程内部,不支持任何需要自己的事务上下文的 SQL 命令。示例包括:
PREPARE
CREATE/DROP DATABASE
CREATE EXTERNAL TABLE
VACUUM
SET LOCAL
ALTER TABLE APPEND
对于
registerOutParameter
数据类型,不支持通过 Java Database Connectivity (JDBC) 驱动程序调用refcursor
方法。有关使用refcursor
数据类型的示例,请参阅。从存储过程中返回结果集