Nomeação de procedimentos armazenados
Este tópico apresenta detalhes sobre nomes de procedimentos armazenados.
Se você definir um procedimento com o mesmo nome e diferentes assinaturas ou tipos de dados de argumento de entrada, um novo procedimento será criado. Como resultado, o nome do procedimento será sobrecarregado. Para ter mais informações, consulte Sobrecarga de nomes de procedimento. O Amazon Redshift não habilita a sobrecarga de procedimentos com base em argumentos de saída. Não é possível ter dois procedimentos com o mesmo nome e tipos de dados de argumento de entrada, mas diferentes tipos de argumento de saída.
O proprietário ou um usuário avançado pode substituir o corpo de um procedimento armazenado por um novo com a mesma assinatura. Para alterar a assinatura ou os tipos de retorno de um procedimento armazenado, descarte o procedimento armazenado e crie-o novamente. Para ter mais informações, consulte DROP PROCEDURE e CREATE PROCEDURE.
Você pode evitar potenciais conflitos e resultados inesperados considerando suas convenções de nomenclatura para procedimentos armazenados antes de implementá-los. Como você pode sobrecarregar os nomes de procedimentos, eles podem entrar em conflito com nomes de procedimentos existentes e futuros do Amazon Redshift.
Sobrecarga de nomes de procedimento
Um procedimento é identificado por seu nome e assinatura, que é o número de argumentos de entrada e tipos de dados dos argumentos. Dois procedimentos no mesmo esquema podem ter o mesmo nome se tiverem assinaturas diferentes. Em outras palavras, é possível sobrecarregar nomes de procedimento.
Ao executar um procedimento, o mecanismo de consulta determina qual procedimento chamar com base no número de argumentos fornecidos e nos tipos de dados dos argumentos. Você pode usar o sobrecarregamento para simular procedimentos com um número variável de argumentos até o limite permitido pelo comando CREATE PROCEDURE. Para ter mais informações, consulte CREATE PROCEDURE.
Evitar conflitos de nomenclatura
Recomendamos nomear todos os procedimentos usando o prefixo sp_
. O Amazon Redshift reserva o prefixo sp_
para procedimentos armazenados. Ao prefixar seus nomes de procedimento com sp_
, você garante que seu nome de procedimento não entrará em conflito com nenhum nome de procedimento existente ou futuro do Amazon Redshift.