【问题标题】:Retrieve stored procedure name from string从字符串中检索存储过程名称
【发布时间】:2017-02-10 04:01:31
【问题描述】:

此存储过程位于字符串变量中,我想检索名称。

CREATE PROCEDURE dbo.uspGetEmployeesTest2   
    @LastName nvarchar(50),   
    @FirstName nvarchar(50)   
AS   
    SET NOCOUNT ON;  

    SELECT 
        FirstName, LastName, Department  
    FROM 
        HumanResources.vEmployeeDepartmentHistory  
    WHERE 
        FirstName = @FirstName 
        AND LastName = @LastName  
        AND EndDate IS NULL;  
GO  

如果标题看起来像这样,我希望它可以工作:

CREATE PROCEDURE [dbo].[uspGetEmployeesTest2] 

我想得到:uspGetEmployeesTest2

这有什么图书馆吗?

【问题讨论】:

标签: c# string


【解决方案1】:

您应该可以使用以下正则表达式CREATE PROCEDURE (?:dbo|\[dbo\])\.\[*(\w+)\]*

查看示例:https://www.myregextester.com/?r=7e17ea0b

更新以处理@JimL 描述的情况: 您应该可以使用以下正则表达式CREATE PROCEDURE (?:dbo\.|\[dbo\]\.)*\[*([a-zA-Z0-9_ -]+)\]*

查看示例:https://www.myregextester.com/?r=c4a81cb3

使用上述解决方案,您可能还想.Trim() 删除前导或尾随空格。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2015-06-11
  • 1970-01-01
  • 1970-01-01
  • 2021-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多