Nomeação de procedimentos armazenados - Amazon Redshift

Nomeação 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 obter 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 obter 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 obter 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.