代码之家  ›  专栏  ›  技术社区  ›  Amit

标识在SQL Server中承载特定字符串的存储过程和触发器

sql
  •  2
  • Amit  · 技术社区  · 14 年前

    在SQL Server 2005中

    我需要标识使用特定表名的所有存储过程和触发器

    例如:我想搜索“Table1”

    请告知

    3 回复  |  直到 14 年前
        1
  •  1
  •   Bob Palmer    14 年前

    下载SQL Digger-工作是一种享受

    http://www.sqldigger.com/

        2
  •  3
  •   AUSteve    14 年前

    在SqL2005中:

    SELECT Name 
    FROM sys.procedures 
    WHERE OBJECT_DEFINITION(object_id) LIKE '%Table1%' 
    

    或者在SQL Server Management Studio中,右键单击表并选择“查看依赖项”,但这找不到使用动态SQL引用表1的过程。

    更多信息: http://databases.aspfaq.com/database/how-do-i-find-a-stored-procedure-containing-text.html

        3
  •  1
  •   Pedro    14 年前

    尝试以下方法之一:

    select sysobjects.name from syscolumns left join sysobjects on sysobjects.id = syscolumns.id where syscolumns.name like '%Table1%' order by 1

    SELECT Name
    FROM sys.procedures
    WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%Table1%'
    GO