Текущее имя исполняющей процедуры

Можно ли получить имя текущей хранимой процедуры в MS SQL Server? Может быть, есть системная переменная или функция типа GETDATE()?

Ответ 1

Вы можете попробовать следующее:

SELECT OBJECT_NAME(@@PROCID)

Обновление: Эта команда все еще действует на SQL Server 2016.

Ответ 2

OBJECT_SCHEMA_NAME(@@PROCID) + '.' + OBJECT_NAME(@@PROCID)

Ответ 3

Вы можете использовать OBJECT_NAME (@@PROCID)

Возвращает идентификатор объекта (ID) текущий модуль Transact-SQL. Модуль Transact-SQL может быть сохранен процедуры, пользовательской функции или триггер.

Ответ 4

В конкретном случае, когда вас интересует имя выполняемой в настоящее время временной хранимой процедуры, вы можете получить ее через:

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