sql - 如何在嵌套过程中找到父存储过程的 ID?

标签 sql sql-server sql-server-2005

如果我在嵌套存储过程中,我希望能够获得上一级过程的过程 ID。
示例:

create proc procedure1
as
    print 'Current proc id: ' + @@PROCID
    print 'Parent proc id: ' + @@PROCID_PARENT --or something? 
go

create proc procedure2
as
    exec procedure1
go

exec procedure2

会给出类似这样的结果:

Current proc id: 93440434
Parent proc id: 10022237

我有一个存储过程可能会在其他几个存储过程中执行,我想知道哪个过程正在执行子过程。这可能吗?

最佳答案

没有内置的方法来检索它。您需要将父项的 ID @@procid 或名称 object_name(@@procid) 作为另一个参数传递给子项。

关于sql - 如何在嵌套过程中找到父存储过程的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3893030/

相关文章:

php - 检查句子是否有相同的单词

mysqldump 不带存储功能

sql server 将逗号分隔值拆分为列

sql-server - 无法解决 select 语句中第 5 列的排序规则冲突

sql - 如何获取列字段的两行之间的差异?

php - php 中的 sql 运行时不返回任何内容

sql - 删除不不同的行

c# - 如何将两个表连接成一个新表以在 C# 中显示?

sql-server - 声明标量变量存储过程

sql - 插入使用值