0

我们如何使用存储过程的模式名称获取所有存储过程中使用的表列表?我在这里看到了答案。但它没有列出存储过程的模式名称。有人知道如何检索存储过程的模式名称吗?

4

1 回答 1

4

试试这个查询:

SELECT * 
FROM INFORMATION_SCHEMA.ROUTINES

这将返回当前数据库中的所有存储过程以及与之关联的架构。

如果您想获取表和相关的存储过程,请尝试以下操作:

SELECT t.TABLE_NAME, s.ROUTINE_NAME,s.SPECIFIC_SCHEMA
FROM INFORMATION_SCHEMA.TABLES t
INNER JOIN INFORMATION_SCHEMA.ROUTINES s 
ON s.ROUTINE_NAME IN 
(
        SELECT referencing_entity_name 
        FROM sys.dm_sql_referencing_entities(TABLE_SCHEMA + '.' + TABLE_NAME, 'OBJECT')
)
AND s.ROUTINE_TYPE = 'PROCEDURE'
WHERE t.TABLE_TYPE = 'BASE TABLE'

远离 sysobject 等视图

于 2013-08-16T06:01:42.757 回答