我正在尝试解析一种包含创建函数和存储过程等命令的大型 SQL 脚本。每当我找到一条GO
语句时,我都想将文件拆分为字符串(我想使用普通的 ado.net 而不是 SMO 来执行它)。
问题是到目前为止我还没有找到合适的正则表达式。使用简单的\bGO\b
忽略大小写会拆分它。但也会在评论中拆分所有 go(s)
/*****************************\
sql statement 1
GO
sql statement 2
GO
\****************************/
我的要求是:即使脚本包含 GO 语句,如果脚本处于注释中,也不要拆分脚本。假设我的整个脚本如下:
sql statement 1
GO
/*****************************\
sql statement 2
GO
sql statement 3
GO
\****************************/
sql statement 4
预期输出应该像
First command :
sql statement 1
Second command :
/*****************************\
sql statement 2
GO
sql statement 3
GO
\****************************/
sql statement 4
对此有任何想法吗?
提前致谢。:)