当前执行的程序名称
是否可以获取 MS SQL Server 中当前存储过程的名称?
也许有像 GETDATE()
这样的系统变量或函数?
Is it possible to get the name of the current Stored Procedure in MS SQL Server?
Maybe there is a system variable or function like GETDATE()
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您可以尝试以下操作:
更新:此命令在 SQL Server 2022 上仍然有效。
You may try this:
Update: This command is still valid on SQL Server 2022.
您可以使用OBJECT_NAME(@@PROCID)
You can use OBJECT_NAME(@@PROCID)
在特定情况下,您对当前正在执行的临时存储过程的名称感兴趣,您可以通过以下方式获取:
您无法使用 SQL Server 中接受的答案来查找当前正在执行的临时存储过程的名称存储过程:
In the specific case where you are interested in the name of the currently executing temporary stored procedure, you can get it via:
You cannot use the accepted answer in SQL Server to find the name of the currently executing temporary stored procedure:
您可以在获取存储过程的架构和名称之前检查
NULL
架构:这意味着即使对于(全局)临时存储过程,您也可以获得正确的数据(单击图像放大):
You can check for a
NULL
schema before getting the schema and name of the stored procedure:This means that you can get the right data even for (global) temporary stored procedures (click image to make bigger):
我知道这很旧,但这是我使用的。它似乎总是有效。
I know this is old, but this is what I use. It appears to always work.