[发明专利]查询语句处理装置和查询语句处理方法无效
申请号: | 201110177473.5 | 申请日: | 2011-06-28 |
公开(公告)号: | CN102253984A | 公开(公告)日: | 2011-11-23 |
发明(设计)人: | 边传猛 | 申请(专利权)人: | 用友软件股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查询 语句 处理 装置 方法 | ||
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种查询语句处理装置和一种查询语句处理方法。
背景技术
在数据库应用开发中,我们的产品经常需要支持不同的数据库,例如:Oracle、DB2、SQL Server等。虽然各数据库产品都支持标准sql语法规范,但都在此基础上进行了扩展,形成了自己独特的语法及函数。这些特殊语法虽然有利于充分发挥各数据库产品本身的性能,但并不利于数据库应用开发,如何支持异构数据库成为一个问题。在现有技术中,通常有如下两种方式解决此类问题:
1.对于代码中的静态sql,可针对不同数据库类型提供不同sql版本来支持;
2.对于使用O/R映射框架的系统,可以借助O/R框架支持一定程度上的数据库差异。
方案1的问题在于易用性不够。方案2的问题在于支持不够全面,例如:复杂的报表sql语句,无法基于O/R框架生成。
因此,需求一种基于扩展例如sql语句的查询语言的方法,既能有效解决异构数据库问题,还可以提供面向业务的易用性,并且支持一定程度上的查询语句的优化。
发明内容
本发明所要解决的技术问题在于,提供一种基于扩展例如sql语句的查询语言的方法,既能有效解决异构数据库问题,还可以提供面向业务的易用性,并且支持一定程度上的查询语句的优化。
有鉴于此,本发明提供一种查询语句处理装置,包括:规则定义模块,设置对自定义元素进行处理的规则;语法解析模块,对表达式进行解析,取得其中的自定义元素;规则处理模块,按照规则对自定义元素进行处理,并使用元素的处理结果组成查询语句。通过该技术方案,通过预定的规则,将表达式的元素转换成当前数据库可识别的形式,能够使表达式适用于任何数据库。
在上述技术方案中,优选地,规则处理模块在自定义元素为自定义函数时,按照规则,将自定义函数处理对应的当前数据库类型的函数作为处理结果,或取得自定义函数的调用结果作为处理结果。通过该技术方案,用户可以在表达式中使用能够实现所需功能的函数,而且函数使用简便。
在上述技术方案中,优选地,还包括:转换模块,将查询语句的各元素转换为字符串形式。通过该技术方案,保证了查询语句可以发送到数据库后顺利执行。
在上述技术方案中,优选地,还包括:优化模块,还对查询语句进行优化。通过该技术方案,可以使形成查询语句结构更加合理,更加不容易出错。
在上述技术方案中,优选地,对查询语句进行优化具体包括:消除冗余的子查询嵌套;去除无效括号;去除无效关联。实际上,优化查询语句的方式有多种,并不限于以上列举出的几种。
本发明还提供一种查询语句处理方法,包括:步骤202,设置对自定义元素进行处理的规则;步骤204,对表达式进行解析,取得其中的自定义元素;步骤206,按照规则对自定义元素进行处理,并使用元素的处理结果组成查询语句。通过该技术方案,通过预定的规则,将表达式的元素转换成当前数据库可识别的形式,能够使表达式适用于任何数据库。
在上述技术方案中,优选地,在步骤206中,自定义元素为自定义函数时,按照规则,将自定义函数处理对应的当前数据库类型的函数作为处理结果,或取得自定义函数的调用结果作为处理结果。通过该技术方案,用户可以在表达式中使用能够实现所需功能的函数,而且函数使用简便。
在上述技术方案中,优选地,还包括:将查询语句的各元素转换为字符串形式。通过该技术方案,保证了查询语句可以发送到数据库后顺利执行。
在上述技术方案中,优选地,在步骤206中,还对查询语句进行优化。通过该技术方案,可以使形成查询语句结构更加合理,更加不容易出错。
在上述技术方案中,优选地,在步骤206中,对查询语句进行优化具体包括:消除冗余的子查询嵌套;去除无效括号;去除无效关联。实际上,优化查询语句的方式有多种,并不限于以上列举出的几种。
通过以上技术方案,可以实现一种查询语句处理装置和一种查询语句处理方法,既能有效解决异构数据库问题,还可以提供面向业务的易用性,并且支持一定程度上的查询语句的优化。
附图说明
图1是根据本发明的一个实施例的查询语句处理装置的框图;
图2是根据本发明的一个实施例的查询语句处理方法的流程图;
图3是根据本发明的一个实施例的查询语句处理装置的框图;
图4是根据本发明的一个实施例的查询语句处理装置的模块示意图;
图5是根据本发明的一个实施例的查询语句处理装置的模块示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友软件股份有限公司,未经用友软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110177473.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种微型货车车身立柱结构
- 下一篇:面状的丝网材料和丝网