求高手帮忙写一个检测SQL代码的脚本要求检测出修改时备份语句与修改语句不一致,修改语句不带where条件的例:一般的修改代码是/*
备份语句:select * from [table1] where [column1]='A'*/Begin Tran 
Update [table1] set [Column2]='B'
where [column1]='A'
当修改的代码与备份的代码的where 条件不一致,或者表名不一致 或者备份,修改没加where条件…………此脚本能够提醒用户并告知哪个地方出现这个问题。ps.个人倾向做成sp  ,输入的就是上面那串代码,然后返回成结果.

解决方案 »

  1.   

    如果是sql05以上,建议用clr正则表达式写存储过程
      

  2.   

    如果是纯字符串匹配还有的写,如果是像编译器一样解析条件,比如WHERE A=1 AND B=2和WHERE B=2 AND A=1等价就不好写了。
      

  3.   

    额,忘记补充了~ 是SQl 2005由于修改类的操作可能会带单引号,所以输入进SP的参数的单引号可能要先替换成双引号(这部分要手工吧。),然后再能执行SP望各位大大帮个忙吧