it-swarm.com.de

Name der aktuell ausgeführten Prozedur

Ist es möglich, den Namen der aktuellen gespeicherten Prozedur in MS SQL Server abzurufen? Gibt es möglicherweise eine Systemvariable oder -funktion wie GETDATE()?

85
Sergey Metlov

Sie können dies versuchen:

SELECT OBJECT_NAME(@@PROCID)

pdate: Dieser Befehl ist in SQL Server 2016 noch gültig.

129
Alireza Maddah
OBJECT_SCHEMA_NAME(@@PROCID) + '.' + OBJECT_NAME(@@PROCID)
66
karthik

Sie können OBJECT_NAME (@@ PROCID) verwenden

Gibt die Objektkennung (ID) des aktuellen Transact-SQL-Moduls zurück. Ein Transact-SQL-Modul kann eine gespeicherte Prozedur, eine benutzerdefinierte Funktion oder ein Trigger sein.

14
jams

In dem speziellen Fall, in dem Sie sich für den Namen der aktuell ausgeführten temporären gespeicherten Prozedur interessieren, können Sie diesen über Folgendes abrufen:

select name
from tempdb.sys.procedures
where object_id = @@procid

Sie können die akzeptierte Antwort in SQL Server nicht verwenden, um den Namen der aktuell ausgeführten temporär gespeicherten Prozedur zu finden:

create procedure #p
as
select object_name(@@PROCID) as name
go
exec #p


name
--------------------------------------------------------------------------------------------------------------------------------
NULL

(1 row affected)
5
ajeh