【问题标题】:Need to identify a table in all objects in database需要在数据库中的所有对象中识别一个表
【发布时间】:2014-10-22 17:13:59
【问题描述】:

我需要识别在数据库中任何地方(存储过程、视图等)中提到的表。我试图在网上找到一个查询,但找不到它。任何帮助都会很棒!

【问题讨论】:

  • 不知道为什么你的问题被否决了。在我看来,这完全是关于主题和人们不时需要找到的东西。
  • 您可能会找到基于查询的解决方案here ...
  • here

标签: sql sql-server sysobjects


【解决方案1】:

我在查找依赖项时经常使用这个 sn-p。在这种情况下,您可以将文本替换为您正在搜索的内容(假设您使用的是 MS SQL Server):

USE [DBNAME]

SELECT OBJECT_NAME(id)
FROM syscomments
WHERE [text] LIKE '%enter_search_here%'
GROUP BY OBJECT_NAME(id) 

您还可以通过添加对象属性检查来查找特定对象类型:

    WHERE OBJECTPROPERTY(id, 'IsTable') = 1

这是一个LIST 有用的对象属性!

【讨论】:

  • syscomments 的两个问题:(1) 它是一个向后兼容的视图,已被弃用,不应使用(改用 sys.sql_modules),(2) 它破坏了程序 > 4000跨多行的字符,因此它可能会因为您的搜索词落在边界上而错过程序。 See this post.
  • 啊。感谢亚伦的提示!
【解决方案2】:

我使用 MS Management Studio 的免费 SQL 搜索插件来处理类似的事情:http://www.red-gate.com/products/sql-development/sql-search/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-31
    • 2015-11-12
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多