Denominazione delle stored procedure - Amazon Redshift

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à.

Denominazione delle stored procedure

Questo argomento descrive i dettagli sui nomi delle stored procedure.

Se si definisce una procedura con lo stesso nome e tipi di dati di argomento di input o firma diversi, si crea una nuova procedura. Di conseguenza, il nome della procedura è sovraccarico. Per ulteriori informazioni, consulta Overload dei nomi delle procedure. Amazon Redshift non abilita l'overload della procedura in base ad argomenti di output. Non è possibile avere due procedure con lo stesso nome e tipi di dati di argomento di input ma tipi di argomento di output diversi.

Il proprietario o un utente con privilegi avanzati può sostituire il body di una procedura archiviata con una nuova con la stessa firma. Per modificare la forma o i tipi restituiti di una procedura archiviata, ignora la procedura archiviata e ricreala. Per ulteriori informazioni, consultare DROP PROCEDURE e CREATE PROCEDURE.

Puoi evitare possibili conflitti e risultati imprevisti valutando le convenzioni di denominazione delle procedure archiviate prima dell'implementazione. Poiché è possibile eseguire l'overload dei nomi delle procedure, è possibile che questi entrino in collisione con i nomi delle procedure Amazon Redshift esistenti e future.

Overload dei nomi delle procedure

Una procedura è identificata dal proprio nome e da una firma, che corrisponde al numero di argomenti di input e ai tipi di dati degli argomenti. Due procedure nello stesso schema possono avere lo stesso nome se hanno firme diverse. In altre parole, è possibile eseguire l'overload dei nomi delle procedure.

Quando si esegue una procedura, il motore di query determina quale procedura chiamare in base al numero di argomenti specificati e ai tipi di dati degli argomenti. È possibile utilizzare l'overloading per simulare procedure con un numero variabile di argomenti, fino al limite consentito dal CREATE PROCEDURE comando. Per ulteriori informazioni, consulta CREATE PROCEDURE.

Prevenzione dei conflitti di denominazione

Si consiglia di assegnare un nome a tutte le procedure utilizzando il prefisso sp_. Amazon Redshift riserva il prefisso sp_ solo per le procedure archiviate. Aggiungendo il prefisso sp_ ai nomi delle procedure, si assicura che il nome della procedura non sia in conflitto con alcuni nomi delle procedure Amazon Redshift esistenti o future.