[发明专利]一种SQL语句处理方法、装置和服务器在审
申请号: | 201410240354.3 | 申请日: | 2014-05-30 |
公开(公告)号: | CN105335366A | 公开(公告)日: | 2016-02-17 |
发明(设计)人: | 李浩;彭川;王博;邓光超 | 申请(专利权)人: | 北大方正信息产业集团有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京银龙知识产权代理有限公司 11243 | 代理人: | 许静;黄灿 |
地址: | 100871 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 语句 处理 方法 装置 服务器 | ||
技术领域
本发明涉及数据处理领域,尤其涉及一种SQL语句处理方法、装置和服务器。
背景技术
XML数据库管理系统(XMLDBMS)是近年快速发展的一种新型的数据库管理系统(DBMS),它用于存储和检索的数据是XML文档。XML数据是一种非关系型数据,它的检索和更新由标准的XQuery和XQueryUpdate完成。而SQL等关系型数据库中的数据是不能直接应用在XMLDBMS中的,需要将SQL语句转化为XQuery语句后才能在XMLDBMS中应用并供用户查询。
现有技术的不足之处在于:对于习惯使用SQL的用户来说,要学习并掌握使用一门新的查询语言需要花费大量时间和精力;而且,现有的将SQL语句转化为关系型数据的查询语句是由数据库操作人员进行手工完成的,在这种方式下无法做到大批量的语句转换,而且在转换过程中易出现相应的语法、语义转换错误。
发明内容
为克服上述缺陷,本发明提供一种SQL语句处理方法、装置和服务器。
第一方面,本发明实施例提供一种SQL语句处理方法,所述方法包括:
获取待转换的SQL语句;
解析获取的所述SQL语句,生成第一语法树;
将所述第一语法树转换为非SQL的第二语法树,所述第二语法树的语义与所述第一语法树相同;
遍历所述第二语法树,得到所述第二语法树对应的非SQL语句。
优选地,所述方法还包括:
以Native方式存储所得到的所述非SQL语句。
优选地,所述将所述第一语法树转换为非SQL的第二语法树具体包括:
遍历所述第一语法树的所有节点;
根据预先设定的转换规则,将所述第一语法树的所有节点转换为非SQL的所述第二语法树的对应节点。
优选地,所述非SQL是XQuery语言。
第二方面,本发明实施例提供一种SQL语句处理装置,所述装置包括:
获取模块,用于获取待转换的SQL语句;
解析模块,用于解析获取的所述SQL语句,生成第一语法树;
第一处理模块,用于将所述第一语法树转换为非SQL的第二语法树,所述第二语法树的语义与所述第一语法树相同;
第二处理模块,用于遍历所述第二语法树,得到所述第二语法树对应的非SQL语句。
优选地,所述装置还包括:
存储模块,用于以Native方式存储所得到的所述非SQL语句。
优选地,所述第一处理模块具体用于:
遍历所述第一语法树的所有节点;
根据预先设定的转换规则,将所述第一语法树的所有节点转换为非SQL的所述第二语法树的对应节点。
优选地,所述非SQL是XQuery。
第三方面,本发明实施例提供一种服务器,所述服务器包括上述的SQL语句处理装置。
本发明实施例提供的SQL语句处理方法、装置和服务器,通过转换语法树的方式将SQL语句转换为非SQL的语句,无需人工转换,降低了转换过程中间的错误率,提高了SQL语句的转换效率;而且,习惯使用SQL的用户无需花费精力和时间再学习和掌握使用一门新的查询语言,方便了用户的使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示SQL语句处理方法的流程图。
图2表示SQL语句处理方法的又一实施例中SQL语句的语法树示意图。
图3表示SQL语句处理方法的又一实施例中XQuery语句的语法树示意图。
图4表示SQL语句处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种SQL语句处理方法的流程图如图1所示,所述方法包括:
步骤100.获取待转换的SQL语句;
步骤101.解析获取的所述SQL语句,生成第一语法树;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北大方正信息产业集团有限公司,未经北大方正信息产业集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410240354.3/2.html,转载请声明来源钻瓜专利网。