返回顶部

收藏

MsSQL Find Usages Table Or Stored Procedure

更多

今天在修改?脞(是呃?"脞"?是呃?"支"啊 '_>') 一、二年前撰?的stored procedure(T-SQL)後办?,

要找出呃些被??的SP曾在那些的SP彦面有使用,或者某?儋料表在那?脞SP?使用,呃?真是一件苦差事。

此?突然想起 Visual Studio ?有?功能叫 FindUsages ,可以方便的找出Function 曾在那些程式中使用,

花了一?上午的?殓,?出功能相仿的T-SQL版的 FindUsages

CREATE PROCEDURE [dbo].[sp_FindUsages]
    (@ObjectName SYSNAME)  
AS
BEGIN  
    SET NOCOUNT ON;
    CREATE TABLE #Result([Id] INT IDENTITY, [ObjectName] VARCHAR(100), [Line] INT,[Text] NVARCHAR(max));

    DECLARE @Id INT;
    DECLARE @Line INT;
    DECLARE @Name NVARCHAR(1024);

    DECLARE pl CURSOR FOR SELECT [name] FROM sys.procedures;
    OPEN pl;
    FETCH NEXT FROM pl INTO @Name;
    WHILE @@FETCH_STATUS = 0 
    BEGIN      
        EXEC ('INSERT INTO #Result ([Text]) EXEC sp_helptext ' + @Name);
        SET @line = 7;
        DECLARE r CURSOR FOR SELECT Id FROM  #Result WHERE ObjectName IS NULL;  
        OPEN r;
        FETCH NEXT FROM r INTO @Id;
        WHILE @@FETCH_STATUS = 0 
        BEGIN
            SET @Line = @line + 1;
            UPDATE #Result SET Line = @Line,ObjectName = @Name WHERE Id = @id ;
            FETCH NEXT FROM r INTO @Id;
        END
        CLOSE r;
        DEALLOCATE r;   
        FETCH NEXT FROM pl INTO @Name;
    END
    CLOSE pl;
    DEALLOCATE pl;
    SELECT * FROM #Result WHERE [Text] LIKE '%' + @ObjectName + '%';
    DROP TABLE #Result;
END

--exec [sp_FindUsages] [spName]
--该片段来自于http://outofmemory.cn

标签:sql,数据库

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 小六子 发表 2017-03-27 01:45:39 说好一起做云计算,怎么都做数据库去了?
  2. Xianglong Wu 发表 2017-09-07 05:08:31 Ubuntu下Django连接SQL Server数据库
  3. 博主 发表 2012-08-24 00:00:00 [转]MySQL数据库性能优化之SQL优化
  4. H.E. 发表 2010-01-26 14:21:14 SQL语句查询优化测试
  5. dormy 发表 2013-11-21 02:34:49 JNDI连接数据库
  6. wwek 发表 2014-03-16 06:20:27 NoSQL反模式 – 文档数据库篇
  7. 谢权 发表 2016-02-01 17:23:17 SQL入门练习(三)
  8. 博主 发表 2016-12-02 17:36:11 数据库行列转换
  9. 图表大师 发表 2017-04-05 07:18:04 漫画赏析:Linux 版 SQL Server
  10. OuuYoung 发表 2014-09-18 11:32:10 列出数据库所有表名与列
  11. viviworld 发表 2015-06-05 00:38:00 更好的 SQL 模式的 10 条规则
  12. camnpr@163.com (佚名) 发表 2015-12-22 02:46:39 PHP如何执行SQL文件导入到mysql数据库

发表评论