正则表达式验证SQL脚本只允许CREATE | ALTER | DROP for VIEW | PROCEDURE | TRIGGER

时间:2017-01-27 06:41:34

标签: sql .net sql-server regex validation

我必须验证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

如何验证包含许多说明的脚本?

谢谢!

0 个答案:

没有答案