我可以从 MSMS(从 TSQL 而不是从 UI)自动打开或保存存储过程和函数的正文吗?



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

尝试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

最新更新