【发布时间】:2020-04-29 23:02:11
【问题描述】:
我有一个有 50 列的表,我想知道,存储过程、视图、函数等中实际使用的列名是什么。有没有我可以使用的查询来查询表名、使用的列名称和使用它的存储过程名称。
我使用了以下查询,它只返回使用该表的存储过程/视图。但我需要该表中唯一使用的列名、表名和存储的过程名称。
SELECT OBJECT_NAME(OBJECT_ID),
definition, *
FROM sys.sql_modules
WHERE definition LIKE '%' + 'tablename ' + '%'
例子:
表名:
Employee
列:
First Name
Last Name
Age
Email
如果 First name, Last name only 在整个数据库中使用,那么它应该只返回这两个列。
【问题讨论】:
-
似乎与这个提问者正在使用的类似查询可能会奏效。 dba.stackexchange.com/q/265974/3690
标签: sql sql-server tsql database-administration