Czy ktoś korzysta z funkcji SQL Server do tworzenia grup procedur przechowywanych z podziałem na liczby?


11

Pytanie odnosi się do parametru liczby w tej dokumentacji msdn

Jeśli nie, możesz utworzyć wiele procedur przechowywanych w programie SQL Server z podziałem na liczby i upuścić je za pomocą jednej kropli.

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

Zastanawiam się, czy ta funkcja jest używana przez kogoś do czegoś użytecznego, czy może jest to tylko historyczna ciekawość.


2
Nie korzystamy z tej funkcji, ale zastanawiam się, czy to nie jest więcej kłopotów niż jest to warte i tylko, jak mówisz, ciekawość
jcolebrand

2
Ta funkcja jest przestarzała i zostanie usunięta w przyszłej wersji. Używaj go ostrożnie.
mrdenny

Odpowiedzi:


5

Korzystałem z tej funkcji około 6 lat temu. Masz rację, nie możemy tego zrobić:

drop stored_proc1;2

i

exec stored_proc1 

taki sam jak

exec stored_proc1;1

Dlaczego tego użyliśmy? Mamy wiele algorytmów (strategii) do obliczania danych, dzięki czemu możemy łatwo przełączać się między wersjami bez zmiany interfejsu wywołania.


7

Ponumerowane procedury składowane są przestarzałe.

msdn
Procedury numerowane są przestarzałe. Nie zaleca się stosowania procedur numerowanych. Zdarzenie DEPRECATION_ANNOUNCEMENT jest uruchamiane podczas kompilacji zapytania korzystającego z tego widoku katalogu.

Mój zespół napotkał to podczas projektu serwisowego. Na początku nie mogliśmy tego rozgryźć. Następnie przeprowadziliśmy kilka badań i odkryliśmy, że jest on przestarzały. Musieliśmy go odbudować do normalnych przechowywanych procesów.

Ponumerowane procedury przechowywane nie pojawią się w drzewie Eksploratora obiektów SSMS.

Numerowane przechowywane procedury

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.