首页 > 解决方案 > 如何在 SQL Server SP 中一次重命名所有变量

问题描述

我用过@RowsNumber变量4次。我只希望它们都在 SQL Server 中一次重命名。有什么快捷键吗?就像我们CTRL + r + r在 Visual Studio 中使用C#.

下面是我使用过@RowsNumber并想立即重命名的示例存储过程。

ALTER PROCEDURE [IMProject].[AutoTaskInsertInToProjects]
@ProjectId int 
AS
BEGIN

Declare
@Portal int,
@Product varchar(20),
@Counter int,
@RowsNumber varchar(50)
            SELECT @RowsNumber = SelectedProductIds , @Portal = PortalId   FROM IMProject.Projects WHERE Id = @ProjectId    
            select @Counter= Count(items) from dbo.SplitCSV(@RowsNumber)
            Select items Into #Temp2  From   dbo.SplitCSV(@RowsNumber)
            declare @procId int = 0
            WHILE ( @Counter > 0)
            Begin    
                    SELECT TOP 1 @procId = items from #Temp2
                   insert into SuperAdmin.Issues (PortalId, ProductId, AssignedToId, PriorityId , StatusId, DT_Created,  DT_Modified, [Name] , ProjectId,    [Type] , [Description] , StartDate , Deleted)
                                        select    @portal, ProductId,  AssignedToId, PriorityId,     1,      GETDATE(),    GETDATE(), [Name] , @ProjectId, 'AutoTask' , [Description] ,GETDATE() , 0
                    from IMProject.AutoTasks where PortalId = @Portal AND ProductId = @procId AND Deleted = 0
                    delete from #Temp2 where items = @procId
                    SET @Counter= @Counter-1
            END
END

标签: sqlsql-server

解决方案


理想情况下,Visual Studio 应该具有一些重构功能,可以直接重命名变量,遍及源文件甚至整个项目。这不可用,我们可以在您的源文件中尝试以下正则表达式替换:

Find:    @RowsNumber\b
Replace: @NewRowsNumber

这个答案假设它@RowsNumber永远不会出现在另一个字符串中。右侧的单词边界确保了右侧的此要求,但没有左侧。


推荐阅读