Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Limites des procédures stockées
Cette rubrique décrit les limites des procédures stockées Amazon Redshift.
Les considérations suivantes s’appliquent lorsque vous utilisez des procédures stockées Amazon Redshift.
Différences entre Amazon Redshift et Postgre SQL pour le support des procédures stockées
Voici les différences entre la prise en charge des procédures stockées dans Amazon Redshift et Postgre : SQL
Amazon Redshift ne prend pas en charge les sous-transactions et, par conséquent, offre une prise en charge limitée pour les blocs de gestion des exceptions.
Considérations et limites
Vous trouverez ci-après des considérations sur les procédures stockées dans Amazon Redshift :
Le nombre maximal de procédures stockées pour une base de données est de 10 000.
La taille maximale du code source pour une procédure est de 2 Mo.
Le nombre maximal de curseurs implicites et explicites que vous pouvez ouvrir simultanément dans une session utilisateur est de 1 (un). FORles boucles qui itèrent sur le jeu de résultats d'une SQL instruction ouvrent des curseurs implicites. Les curseurs imbriqués ne sont pas pris en charge.
Les curseurs explicites et implicites ont les mêmes restrictions sur la taille de l’ensemble de résultats que les curseurs Amazon Redshift standard. Pour de plus amples informations, veuillez consulter Contraintes de curseur.
Le nombre maximal de niveaux pour les appels imbriqués est de 16.
Le nombre maximal de paramètres de procédure est de 32 pour les arguments en entrée et de 32 pour les arguments en sortie.
Le nombre maximal de variables dans une procédure stockée est de 1 024.
Toute SQL commande nécessitant son propre contexte de transaction n'est pas prise en charge dans une procédure stockée. En voici quelques exemples :
PREPARE
CREATE/DROP DATABASE
CREATE EXTERNAL TABLE
VACUUM
SET LOCAL
ALTER TABLE APPEND
L'appel de
registerOutParameter
méthode via le pilote Java Database Connectivity (JDBC) n'est pas pris en charge pour ce type derefcursor
données. Pour obtenir un exemple de l’utilisation du type de donnéesrefcursor
, consultez Renvoyer un jeu de résultats à partir d'une procédure stockée.