Alguém está usando o recurso SQL Server para criar grupos de procedimentos armazenados diferenciados por número?

11

A pergunta refere-se ao parâmetro numérico nesta documentação do msdn

Caso contrário, você pode criar vários procedimentos armazenados no SQL-Server diferenciados por número e descartá-los com uma única gota.

create procedure dbo.stored_proc1 as select 1
go
create procedure dbo.stored_proc1;2 as select 2
go
exec stored_proc1
-- returns 1
go
exec stored_proc1;2
-- returns 2
go
drop stored_proc1
-- drops both 
go

Gostaria de saber se esse recurso é usado por alguém para algo útil ou se é apenas uma curiosidade histórica.

bernd_k
fonte
2
Nós não estamos usando esse recurso, mas eu me pergunto se isso não é mais problema do que vale a pena e apenas, como você diz, uma curiosidade
jcolebrand
2
Esse recurso foi descontinuado e será descartado em uma versão futura. Use-o com cuidado.
mrdenny

Respostas:

5

Eu usei esse recurso há cerca de 6 anos. Você está certo, não podemos fazer isso:

drop stored_proc1;2

e

exec stored_proc1 

o mesmo que

exec stored_proc1;1

Por que usamos? Temos muitos algoritmos (estratégias) para calcular dados, para que possamos alternar facilmente entre versões sem alterar a interface da chamada.

garik
fonte
7

Os procedimentos armazenados numerados estão obsoletos.

msdn
Os procedimentos numerados estão obsoletos. O uso de procedimentos numerados é desencorajado. Um evento DEPRECATION_ANNOUNCEMENT é acionado quando uma consulta que usa essa exibição de catálogo é compilada.

Minha equipe encontrou isso em um projeto de manutenção. Não conseguimos descobrir no começo. Em seguida, fizemos uma pesquisa e descobrimos que ela está obsoleta. Tivemos que reconstruí-lo para procs armazenados normais.

Os procedimentos armazenados numerados não aparecerão na árvore do Pesquisador de Objetos do SSMS.

Procedimentos armazenados numerados

CoderHawk
fonte