C'è qualcuno che utilizza la funzionalità SQL Server per creare gruppi di stored procedure differenziate per numero?


11

La domanda si riferisce al parametro numerico in questa documentazione msdn

In caso contrario, è possibile creare più procedure memorizzate in SQL Server differenziate per numero e rilasciarle con un singolo rilascio.

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

Mi chiedo se questa funzione sia utilizzata da qualcuno per qualcosa di utile o se sia solo una curiosità storica.


2
Non stiamo usando questa funzione, ma mi chiedo se non sia più un problema di quanto valga e solo, come dici tu, una curiosità
jcolebrand

2
Questa funzione è stata deprecata e verrà rilasciata in una versione futura. Usalo attentamente.
mrdenny,

Risposte:


5

Ho usato questa funzione circa 6 anni fa. Hai ragione, non possiamo farlo:

drop stored_proc1;2

e

exec stored_proc1 

lo stesso di

exec stored_proc1;1

Perché l'abbiamo usato? Abbiamo molti algoritmi (strategie) per calcolare i dati, quindi possiamo facilmente passare da una versione all'altra senza cambiare l'interfaccia di chiamata.


7

Le stored procedure numerate sono obsolete.

msdn
Le procedure numerate sono obsolete. L'uso di procedure numerate è scoraggiato. Un evento DEPRECATION_ANNOUNCEMENT viene generato quando viene compilata una query che utilizza questa vista del catalogo.

Il mio team ha riscontrato questo in un progetto di manutenzione. All'inizio non siamo riusciti a capirlo. Quindi, abbiamo fatto alcune ricerche e abbiamo scoperto che è deprecato. Abbiamo dovuto ricostruirlo in normali processi memorizzati.

Le stored procedure numerate non verranno visualizzate nella struttura ad Esplora oggetti di SSMS.

Stored procedure numerate

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.