我可以打开或StoredProcedure的年代和功能的尸体从MSMS(从TSQL不是从UI)自动保

2019-10-30 10:01发布

我要改变列的长度。 我发现它被使用的程序和函数名。 它可以打开或自动保存。 有高于300的对象。 我必须手动analize,但我想先打开它

Answer 1:

尝试sp_helptext 'func or proc name' -它会回报你的代码。

如果你需要一些特效和功能的同时,通过一些条件在他们的代码过滤,使用下面的脚本:

DECLARE @name VARCHAR(100)
DECLARE @getNames CURSOR

SET @getNames = CURSOR FOR 
    SELECT o.name 
    FROM sysobjects o 
    WHERE 
        type = 'P' AND 
        o.name IN (
            SELECT ROUTINE_NAME 
            FROM INFORMATION_SCHEMA.ROUTINES 
            WHERE ROUTINE_DEFINITION LIKE '%your condition here%'
        )

OPEN @getNames
    FETCH NEXT
    FROM @getNames INTO @name
    WHILE @@FETCH_STATUS = 0
    BEGIN
        EXEC sp_helptext @name
        FETCH NEXT
        FROM @getNames INTO @name
    END
    CLOSE @getNames
    DEALLOCATE @getNames
GO

这会给你的代码对所有的特效和funcitons - 你可以保存这个到文件,或打开新的窗口,等等。

如果在Management Studio中,你可能会碰到Ctrl+T运行查询之前-它会带来的结果明文。 要回到电网的结果,使用Ctrl+D



文章来源: Can I open or save storedprocedure's and function's body from MSMS (from TSQL not from UI) automatically?
标签: tsql