¿Es posible obtener el nombre del procedimiento almacenado actual en MS SQL Server?
¿Quizás hay una variable de sistema o una función como GETDATE()
?
sql-server
sql-server-2008
tsql
stored-procedures
Sergey Metlov
fuente
fuente
fuente
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
Puede utilizar OBJECT_NAME (@@ PROCID)
fuente
En el caso específico en el que esté interesado en el nombre del procedimiento almacenado temporal que se está ejecutando actualmente , puede obtenerlo a través de:
No puede usar la respuesta aceptada en SQL Server para encontrar el nombre del procedimiento almacenado temporal que se está ejecutando actualmente:
fuente
Puede comprobarlo
NULL
antes de obtener el esquema y el nombre del procedimiento almacenado.Esto significa que puede obtener los datos correctos incluso para procedimientos almacenados temporales (globales) (haga clic en la imagen para agrandarla):
fuente