Можно ли получить имя текущей хранимой процедуры в MS SQL Server?
Может есть системная переменная или функция вроде GETDATE()
?
sql-server
sql-server-2008
tsql
stored-procedures
Сергей Метлов
источник
источник
источник
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
Вы можете использовать OBJECT_NAME (@@ PROCID)
источник
В конкретном случае, когда вас интересует имя выполняемой в данный момент временной хранимой процедуры, вы можете получить его через:
Вы не можете использовать принятый ответ в SQL Server, чтобы найти имя выполняющейся в данный момент временной хранимой процедуры:
источник
Вы можете проверить
NULL
перед получением схемы и имени хранимой процедуры.Это означает, что вы можете получить нужные данные даже для (глобальных) временных хранимых процедур (щелкните изображение, чтобы увеличить):
источник