代码改变世界

随笔分类 -  数据库

用正则提取SQL脚本关键字屏蔽常见错误

2013-04-12 18:45 by AceYue, 1421 阅读, 收藏, 编辑
摘要: 每天的批量部署SQL script难免会出现一些小差错,为了避免某些常见而又容易忽略的错误的出现,我们在执行前先将脚本过滤一遍,通过一些关键字来提示是否出现了不符合的设置。 本实例以创建表和给表怎加列不容许出现null列以及在执行脚本过程中不容许出现设置SET ANSI_PADDING OFF为例,利用正则获取脚本中的关键字,以检索是否符合要求。 完成这个任务我们的主要挑战是如何获取sql 脚本中的关键字,如创建新table时,我们如何判断出那一段脚本是字段列,这里就需要用的正则来提取出关键字。来看看通常创建表的脚本:CREATE TABLE [dbo].[A]( [Employ... 阅读全文

SQL查询性能分析之(not in)、(and not)、(<>)、(!=)性能比较

2012-06-12 19:38 by AceYue, 5524 阅读, 收藏, 编辑
摘要: 在与朋友讨论查询时引出了not in 与and not两种踢出方法,相互的口舌之争之后我决定动手来查查看,他们到底有什么区别,谁的执行效率更高,今后该如何选择性能最优的查询条件。由于本人能力有限,肚子中的墨水有限,所以本文有什么错误之处还望各位前辈指出。 在使用sql中我们会有各种各样的条件筛选,常见的就是要踢出一部分我们不需要的数据,在where后面的踢出方法常见的有 (not in / and not / <> / !=) 这四种方法,既然存在这样四种方法,那么我们又该如果选择最佳方法呢?下面我们就一起来测试下这四种筛选条件的执行效率。 为了测试数据,我建了一张零时表@ind. 阅读全文

关于Access数据库Insert多条数据的一些尝试

2012-06-07 22:54 by AceYue, 6484 阅读, 收藏, 编辑
摘要: 当下Access数据库可能要被遗忘了!比较这个轻量级数据库被精简了许多功能,个人感觉用起来还是挺麻烦的!当前Access在企业项目中就是一块鸡肋。数据量小使用SQL Server是浪费,既然选择了Access就别抱怨了!如果用好了还是一块宝!废话不多说了,今天就来探讨下如何向Access中插入多条数据把! 由于在此之前我没有用过Access数据库的,当需要想数据库中插入多条数据时,我们不妨先按照sql server的做法:“insert into tablename(column1,column2) values (a,b),(c,d),(e,f)”。于是按照这个思路,我的第一个方案出来了。. 阅读全文