Considerações para suporte a procedimentos armazenados
As considerações a seguir se aplicam ao usar procedimentos armazenados do Amazon Redshift.
Diferenças entre Amazon Redshift e PostgreSQL para suporte a procedimentos armazenados
A seguir estão as diferenças entre o suporte a procedimentos armazenados no Amazon Redshift e PostgreSQL:
O Amazon Redshift não oferece suporte a subtransações e, portanto, tem suporte limitado para blocos de tratamento de exceção.
Considerações e limitações
Veja a seguir as considerações sobre os procedimentos armazenados no Amazon Redshift:
O número máximo de procedimentos armazenados para um banco de dados é 10.000.
O tamanho máximo do código-fonte para um procedimento é 2 MB.
O número máximo de cursores explícitos e implícitos que podem ser abertos simultaneamente em uma sessão do usuário é 1. Loops FOR que iteram sobre o conjunto de resultados de uma instrução SQL abrem cursores implícitos. Não há suporte para cursores aninhados.
Os cursores explícitos e implícitos têm as mesmas restrições no tamanho do conjunto de resultados que os cursores padrão do Amazon Redshift. Para obter mais informações, consulte Restrições de cursor.
O número máximo de níveis para chamadas aninhadas é 16.
O número máximo de parâmetros de procedimento é 32 para argumentos de entrada e 32 para argumentos de saída.
O número máximo de variáveis em um procedimento armazenado é 1.024.
Qualquer comando SQL que requer seu próprio contexto de transação não é compatível dentro de um procedimento armazenado. Os exemplos incluem:
PREPARE
CREATE/DROP DATABASE
CREATE EXTERNAL TABLE
VACUUM
SET LOCAL
ALTER TABLE APPEND
A chamada do método
registerOutParameter
pelo driver do Java Database Connectivity (JDBC) não é compatível com o tipo de dadosrefcursor
. Para obter um exemplo de uso do tipo de dadosrefcursor
, consulte Retorno de um conjunto de resultados.