此存储过程位于字符串变量中,我想检索名称。
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
这有没有图书馆?
答案 0 :(得分:0)
您应该可以使用以下正则表达式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()
删除前导空格或尾随空格。