

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Limitazioni delle stored procedure
<a name="stored-procedure-constraints"></a>

In questo argomento vengono descritte le limitazioni per le stored procedure di Amazon Redshift.

Le seguenti considerazioni si applicano quando si utilizzano le procedure archiviate in Amazon Redshift.

## Differenze tra Amazon Redshift e PostgreSQL per il supporto alle procedure archiviate
<a name="stored-procedure-differences"></a>

 Di seguito sono riportate le differenze tra il supporto delle procedure archiviate in Amazon Redshift e in PostgreSQL:
+ Amazon Redshift non supporta le transazioni secondarie e quindi ha supporto limitato per i blocchi di gestione delle eccezioni.

## Considerazioni e limiti
<a name="stored-procedure-limits"></a>

Di seguito sono riportate le considerazioni sulle procedure archiviate in Amazon Redshift:
+ Il numero massimo di procedure archiviate per un database è 10.000.
+ Le dimensioni massime del codice di origine per una procedura è 2 MB.
+ Il numero massimo di cursori espliciti e impliciti che puoi aprire simultaneamente in una sessione utente è uno. I loop FOR che eseguono le iterazioni sul set di risultati di un'istruzione SQL aprono cursori impliciti. I cursori nidificati non sono supportati.
+ I cursori espliciti e impliciti hanno le stesse limitazioni sulle dimensioni del set di risultati dei cursori Amazon Redshift standard. Per ulteriori informazioni, consultare [Vincoli del cursore](declare.md#declare-constraints). 
+ Il numero massimo di livelli per le chiamate nidificate è 16.
+ Il numero massimo di parametri di procedura è 32 per gli argomenti di input e 32 per gli argomenti di output.
+ Il numero massimo di variabili in una procedura archiviata è 1024.
+ Qualsiasi comando SQL che richiede il proprio contesto di transazione non è supportato in una procedura archiviata. Gli esempi includono:
  + PREPARE
  + CREATE/DROP DATABASE
  + CREATE EXTERNAL TABLE
  + VACUUM
  + SET LOCALE
  + ALTER TABLE APPEND
+ La chiamata di metodo `registerOutParameter` tramite il driver Java Database Connectivity (JDBC) non è supportato per il tipo di dati `refcursor`. Per un esempio di utilizzo del tipo di dati `refcursor`, consultare [Restituzione di un set di risultati di una stored procedure](stored-procedure-result-set.md).