2017-07-13 2 views
5

Einige Wartungsarbeiten an einem alten Bericht, der vor langer Zeit erstellt wurde. Ich stelle fest, dass die Datenquelle für den Bericht eine gespeicherte Prozedur ist. Der sproc Aufruf sieht wie folgt aus:"; 1" nach dem Aufruf der gespeicherten Prozedur in MS SQL?

EXEC someStoredProc;1 

Ich habe noch nie das gesehen, vor dem „1“. Nur neugierig, was zum Teufel es ist? Kann keine Dokumentation online finden. Wenn ich die "1" auf eine andere Zahl umschalte, löst SQL den Fehler "Kann die gespeicherte Prozedur 'someStoredProc' nicht finden". Aber schalte es zurück auf "1" und es funktioniert. Scheint keinen Einfluss auf die Ausgabe zu haben. Was ist dieses Ding?

Ich bemerkte, ich kann "; 1" nach jeder gespeicherten Prozedur und es führt scheinbar das gleiche wie ohne es.

Wenn jemand dieses Geheimnis für mich aufräumen kann - danke! (Noch etwas unterstützt durch SQL Server 2012 aber sind)

In SQL Server

Antwort

5

Diese sind als Numbered Procedures bekannt, die deprecated since 2005 gewesen sind, können Sie mit einem ;# Suffix verschiedenen Versionen der gespeicherten Prozedur erstellen. Diese können im Allgemeinen verwendet werden, um eine gespeicherte Prozedur zu überlasten, indem eine andere Version erstellt wird, die eine andere Anzahl von Parametern akzeptiert oder sich anders verhält usw.

Verwandte Themen