¿Alguien está usando la función SQL Server para crear grupos de procedimientos almacenados diferenciados por número?

11

La pregunta se refiere al parámetro número en esta documentación msdn

Si no lo hace, puede crear múltiples procedimientos almacenados en SQL-Server diferenciados por número y soltarlos con una sola 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

Me pregunto si alguien usa esta característica para algo útil o si es solo una curiosidad histórica.

bernd_k
fuente
2
No estamos utilizando esta característica, pero me pregunto si eso no es más problemas de lo que vale y justo, como usted dice, una curiosidad
jcolebrand
2
Esta característica ha quedado en desuso y se eliminará en una versión futura. Úselo con cuidado.
mrdenny

Respuestas:

5

Utilicé esta función hace unos 6 años. Tienes razón, no podemos hacer esto:

drop stored_proc1;2

y

exec stored_proc1 

lo mismo que

exec stored_proc1;1

¿Por qué lo usamos? Tenemos muchos algoritmos (estrategias) para calcular datos, por lo que podemos cambiar fácilmente entre versiones sin cambiar la interfaz de llamada.

Garik
fuente
7

Los procedimientos almacenados numerados están en desuso.

msdn
Los procedimientos numerados están en desuso. Se desaconseja el uso de procedimientos numerados. Se desencadena un evento DEPRECATION_ANNOUNCEMENT cuando se compila una consulta que utiliza esta vista de catálogo.

Mi equipo encontró esto en un proyecto de mantenimiento. No pudimos resolverlo al principio. Luego, investigamos un poco y descubrimos que está en desuso. Tuvimos que reconstruirlo a procesos almacenados normales.

Los procedimientos almacenados numerados no se mostrarán en el árbol del Explorador de objetos de SSMS.

Procedimientos almacenados numerados

CoderHawk
fuente