![](/img/trans.png)
[英]What would be the most efficient way to parse the input from a specific column into separate columns?
[英]What can be the most efficient way to parse the object name from the script?
我有一些輸入
CREATE PROCEDURE dbo._ws_CallLogs_DeleteAll
(
@UserId uniqueidentifier
)
AS
要么
/*========== Script Analyzed by Sql Eye on 11/30/2012 2:55:12 PM =======
*====================== Total warnings : 0 =================================== */
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
SET ANSI_PADDING ON
GO
IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_CachedPlan_cached_plan_Job_id]')
AND parent_object_id = OBJECT_ID(N'[dbo].[CachedPlan]'))
ALTER TABLE [dbo].[CachedPlan] DROP CONSTRAINT [FK_CachedPlan_cached_plan_Job_id]
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[CachedPlan]') AND TYPE IN (N'U'))
DROP TABLE [dbo].[CachedPlan]
GO
CREATE TABLE [dbo].[CachedPlan](
[cached_plan_id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[cached_plan_Job_id] [int] NOT NULL,
[dbId] [int] NOT NULL,
[dbname] [varchar](100) NOT NULL,
[plan_type] [varchar](50) NOT NULL,
[objId] [int] NOT NULL,
[objname] [varchar](100) NOT NULL,
[sql_batch] [varchar](max) NOT NULL,
我需要挑選出來
PROCEDURE dbo._ws_CallLogs_DeleteAll
要么
TABLE [dbo].[CachedPlan]
最有效的方法是什么?
使用正則表達式:
Match m = Regex.Match(inputString, @"CREATE\s+(?<obj>.+?)\s*\(", RegexOptions.Singleline);
string objectName = m.Groups["obj"].Value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.