使用SQL在多个视图中查找引用的表

时间:2016-06-29 09:11:59

标签: sql-server tsql

我有一个包含50多个视图,表和存储过程的庞大数据库。我想运行搜索以找到我特定的文本,即表名,以查看它是否被引用。

我最初尝试过C#路由,但我怀疑这在SQL中会更容易。我正在考虑的逻辑可能是创建一个循环遍历所有表,视图和存储过程的查询,并返回数据(如果可用)。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

在下面的查询中,代替 matchingstring 替换您的表名,它将返回与搜索字符串相关的对象列表

SELECT DISTINCT SO.[name]
FROM sysobjects SO 
JOIN syscomments SC ON SC.Id = SO.Id 
WHERE SC.[text] LIKE '%matchingstring%'

答案 1 :(得分:1)

SELECT object_name(id) FROM sys.syscomments WHERE text LIKE'%yourtablename%'