Ist es möglich, den Namen der aktuellen gespeicherten Prozedur in MS SQL Server abzurufen?
Vielleicht gibt es eine Systemvariable oder eine Funktion wie GETDATE()
?
sql-server
sql-server-2008
tsql
stored-procedures
Sergey Metlov
quelle
quelle
quelle
BEGIN TRAN GO CREATE PROC utility.TempProc AS SELECT OBJECT_SCHEMA_NAME(@@PROCID)+'.'+OBJECT_NAME(@@PROCID) GO EXEC utility.TempProc GO ROLLBACK GO BEGIN TRAN GO CREATE PROC utility.#TempProc AS SELECT OBJECT_SCHEMA_NAME(@@PROCID)+'.'+OBJECT_NAME(@@PROCID) GO EXEC utility.#TempProc GO ROLLBACK GO
Sie können OBJECT_NAME (@@ PROCID) verwenden.
quelle
In dem speziellen Fall, in dem Sie an dem Namen der aktuell ausgeführten temporär gespeicherten Prozedur interessiert sind , können Sie ihn erhalten über:
Sie können die akzeptierte Antwort in SQL Server nicht verwenden, um den Namen der aktuell ausgeführten temporären gespeicherten Prozedur zu ermitteln:
quelle
Sie können überprüfen, ob
NULL
bevor Sie das Schema und den Namen der gespeicherten Prozedur abrufen.Dies bedeutet, dass Sie auch für (globale) temporär gespeicherte Prozeduren die richtigen Daten erhalten können (klicken Sie auf das Bild, um es zu vergrößern):
quelle