我必须验证SQL脚本以进行自动数据库升级过程。
我只需要仅为“PROCEDURE | TRIGGER | VIEW”自动调整CREATE | ALTER | DROP函数。
目前我使用此函数与正则表达式验证:
Public Function ValidateScript(script as string) as Boolean
Regex.IsMatch(script.Trim, "^(CREATE|ALTER|DROP)\\s+(PROCEDURE|TRIGGER|VIEW)")
End Function
但是如果脚本包含2个像这样的指令
CREATE PROCEDURE XXX as ...
Instruction1;
Instruction2;
...
GO (OR ;)
DROP TABLE
GO (OR ;)
验证返回True
如何验证包含许多说明的脚本?
谢谢!