Имя текущей исполняемой процедуры
можно ли получить имя текущей хранимой процедуры в MS SQL Server? Может быть, есть какая-либо системная переменная или функция, например GETDATE()
?
4 ответа:
вы можете попробовать это:
SELECT OBJECT_NAME(@@PROCID)
обновление: эта команда все еще действительна на SQL Server 2016.
можно использовать OBJECT_NAME (@@PROCID)
возвращает идентификатор объекта (ID) текущий модуль Transact-SQL. Один Модуль Transact-SQL может быть сохранен процедура, определяемая пользователем функция или спусковой крючок.
в конкретном случае, когда вас интересует имя текущего выполняемого временное хранимая процедура, вы можете получить его через:
select name from tempdb.sys.procedures where object_id = @@procid
вы не можете использовать принятый ответ в SQL Server, чтобы найти имя текущей выполняемой временной хранимой процедуры:
create procedure #p as select object_name(@@PROCID) as name go exec #p name -------------------------------------------------------------------------------------------------------------------------------- NULL (1 row affected)