0

我必须更改列的长度。我找到了使用它的过程和函数的名称。可以自动打开或保存。有超过300个对象。我必须手动分析它,但我想先打开它

4

1 回答 1

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

这将为您提供所有过程和功能的代码 - 您可以将其保存到文件中,或在新窗口中打开等。

如果在 Management Studio 中,您可能会Ctrl+T在运行查询之前点击 - 它会将结果作为纯文本显示。要返回网格结果,请使用Ctrl+D

于 2013-06-19T13:29:45.287 回答