É possível obter o nome do procedimento armazenado atual no MS SQL Server?
Talvez haja uma variável ou função do sistema como GETDATE()
?
sql-server
sql-server-2008
tsql
stored-procedures
Sergey Metlov
fonte
fonte
fonte
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
Você pode usar OBJECT_NAME (@@ PROCID)
fonte
No caso específico em que você está interessado no nome do procedimento armazenado temporário em execução no momento , você pode obtê-lo por meio de:
Você não pode usar a resposta aceita no SQL Server para encontrar o nome do procedimento armazenado temporário em execução no momento:
fonte
Você pode verificar
NULL
antes de obter o esquema e o nome do procedimento armazenado.Isso significa que você pode obter os dados corretos, mesmo para procedimentos armazenados temporários (globais) (clique na imagem para aumentar):
fonte