当前正在执行过程名称

是否有可能在MS SQL Server中获得当前存储过程的名称? 可能有任何系统variables或函数像GETDATE()

你可以试试这个:

 SELECT OBJECT_NAME(@@PROCID) 

更新:此命令在SQL Server 2016上仍然有效。

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

您可以使用OBJECT_NAME(@@ PROCID)

返回当前Transact-SQL模块的对象标识符(ID)。 Transact-SQL模块可以是存储过程,用户定义的函数或触发器。

在您对当前正在执行的临时存储过程的名称感兴趣的特定情况下,可以通过以下方式获取它:

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