获取当前正在执行的存储过程的模式名称

Alt*_*rld 10 sql stored-procedures sql-server-2008

有没有办法从其实现中检索商店过程的架构所有者?

存储的过程是World.Perform_TaskUniverse.Perform_Task.当存储过程执行时,我需要检索模式的名称以执行某些模式级别任务,并查找该模式中的对象(表,列等).

我尝试Schema_Name()但它返回登录用户的默认架构(dbo不是存储过程的架构所有者).

如何获取执行存储过程的模式?

gbn*_*gbn 18

干得好...

OBJECT_SCHEMA_NAME(@@PROCID)
Run Code Online (Sandbox Code Playgroud)

MSDN的链接:

返回架构范围对象的数据库架构名称

返回当前Transact-SQL模块的对象标识符(ID).