如何在SQL Server SP中一次重命名所有变量

时间:2019-01-25 09:36:32

标签: sql sql-server

@RowsNumber使用了4个变量。我只希望它们全部在SQL Server中立即重命名。有快捷键吗?就像我们在Visual Studio中使用CTRL + r + r使用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

4 个答案:

答案 0 :(得分:4)

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

Find:    @RowsNumber\b
Replace: @NewRowsNumber

此答案假设@RowsNumber永远不会出现在另一个字符串内。右侧的“边界”一词确保右侧有此要求,而左侧则没有。

答案 1 :(得分:2)

您可以在下面的快捷方式中使用该名称,并根据需要用新名称替换该名称。

Ctrl + H

答案 2 :(得分:2)

您可以在SSMS中使用Ctrl + H使用查找和替换

答案 3 :(得分:1)

听起来像您只需要“查找和替换”方法。按下 Ctrl + h ,则如下所示的叠加层将出现在SSMS的右上角:

enter image description here

在“查找...”框中键入要替换的字符串(在本示例中为@RowNumber),然后在“查找...”中键入要将其替换为的字符串。然后按 Ctrl + a 替换该字符串的所有实例。

“查找和替换”窗格默认情况下使用正则表达式(我的图片中的注释突出显示了。*图标)。如果您使用正则表达式模式 ,请不要忘记转义某些特殊字符。例如,“ dbo.MyTable”将需要为“ dbo \ .MyTable”。当然,您可以将搜索更改为区分大小写(Aa)和匹配词Abl