Gibt es jemanden, der die SQL Server-Funktion verwendet, um Gruppen gespeicherter Prozeduren zu erstellen, die nach Nummern differenziert sind?


11

Die Frage bezieht sich auf den Parameter number in dieser msdn-Dokumentation

Wenn Sie dies nicht tun, können Sie in SQL-Server mehrere gespeicherte Prozeduren erstellen, die nach Anzahl differenziert sind, und sie mit einem einzigen Löschen löschen.

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

Ich frage mich, ob diese Funktion von irgendjemandem für etwas Nützliches verwendet wird oder ob es nur eine historische Kuriosität ist.


2
Wir verwenden diese Funktion nicht, aber ich frage mich, ob das nicht mehr Ärger als es wert ist und nur, wie Sie sagen, eine Kuriosität
jcolebrand

2
Diese Funktion ist veraltet und wird in einer zukünftigen Version gelöscht. Verwenden Sie es vorsichtig.
Mrdenny

Antworten:


5

Ich habe diese Funktion vor ungefähr 6 Jahren verwendet. Sie haben Recht, wir können das nicht tun:

drop stored_proc1;2

und

exec stored_proc1 

das Gleiche wie

exec stored_proc1;1

Warum haben wir es benutzt? Wir haben viele Algorithmen (Strategien), um Daten zu berechnen, sodass wir problemlos zwischen Versionen wechseln können, ohne die Anrufschnittstelle zu ändern.


7

Nummerierte gespeicherte Prozeduren sind veraltet.

msdn
Nummerierte Prozeduren sind veraltet. Von der Verwendung nummerierter Verfahren wird abgeraten. Ein DEPRECATION_ANNOUNCEMENT-Ereignis wird ausgelöst, wenn eine Abfrage kompiliert wird, die diese Katalogansicht verwendet.

Mein Team ist dies in einem Wartungsprojekt begegnet. Wir konnten es zuerst nicht herausfinden. Dann haben wir einige Nachforschungen angestellt und festgestellt, dass es veraltet ist. Wir mussten es zu normalen gespeicherten Prozessen umbauen.

Nummerierte gespeicherte Prozeduren werden nicht in der Objekt-Explorer-Struktur von SSMS angezeigt.

Nummerierte gespeicherte Prozeduren

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.