Czy można uzyskać nazwę aktualnej procedury składowanej w MS SQL Server?
Może istnieje zmienna systemowa lub funkcja podobna do GETDATE()
?
sql-server
sql-server-2008
tsql
stored-procedures
Siergiej Metłow
źródło
źródło
źródło
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
Możesz użyć OBJECT_NAME (@@ PROCID)
źródło
W konkretnym przypadku, gdy interesuje Cię nazwa aktualnie wykonywanej tymczasowej procedury składowanej, możesz ją uzyskać poprzez:
Nie można użyć zaakceptowanej odpowiedzi w SQL Server, aby znaleźć nazwę aktualnie wykonywanej tymczasowej procedury składowanej:
źródło
Możesz sprawdzić
NULL
przed pobraniem schematu i nazwy procedury składowanej.Oznacza to, że możesz uzyskać odpowiednie dane nawet dla (globalnych) tymczasowych procedur składowanych (kliknij obraz, aby powiększyć):
źródło