[发明专利]一种SQL语句的自动翻译方法及装置有效

专利信息
申请号: 202010010999.3 申请日: 2020-01-06
公开(公告)号: CN111221846B 公开(公告)日: 2023-09-29
发明(设计)人: 请求不公布姓名 申请(专利权)人: 广州拉卡拉信息技术有限公司
主分类号: G06F16/242 分类号: G06F16/242
代理公司: 北京墨丘知识产权代理事务所(普通合伙) 11878 代理人: 魏梳芳
地址: 510555 广东省广州市黄*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 sql 语句 自动 翻译 方法 装置
【权利要求书】:

1.一种SQL语句的自动翻译方法,其特征在于,所述方法包括:

从接收到的输入信息中识别提取出SQL语句;

对输出的SQL语句进行语句分析,生成所述SQL语句的语法分析树;

根据所述语法分析树对所述SQL语句进行自动翻译,生成翻译后的SQL语句;

执行所述翻译后的SQL语句,返回执行状态,

所述SQL语句包括DDL语句和DML语句,所述DDL语句包括:CREATE TABLE语句、CREATEINDEX语句、DROP TABLE语句和DROP INDEX语句;所述DML语句包括:SELECT语句、INSERT语句、UPDATE语句、DELETE语句,

所述根据所述语法分析树对所述SQL语句进行自动翻译,生成翻译后的SQL语句,包括:

对于CREATE TABLE语句,根据所述语法分析树获取表名和租户ID,生成插入到saas_table的insert语句,根据所述语法分析树获取原create table语句中的所有字段名,生成插入到saas_field表中的insert语句;

对于CREATE INDEX语句,更改saas_table表中源索引表的索引字段的index Time为当前时间戳,根据索引字段的类型组合,判断其对应的索引表是否已创建,若未创建,则在saas_meta表中插入关于该索引表的相关信息,再通过CREATE TABLE语句创建该表,表名为saas_indexn,其中n为saas_meta表中插入记录的主键ID,将saas_data表中对应数据表ID的对应字段的数据转移到新创建的saas_indexn表中;

对于DROP TABLE语句,根据所述语法分析树获得到要删除表的表名,生成在saas_table中删除该表名的SQL语句,生成在saas_data中删除该表相关的记录的SQL语句,如果该表有建立索引,则生成在对应索引表中含有该表数据的记录的SQL语句;

对于DROP INDEX语句,根据所述语法分析树获得索引名,根据索引名找到对应的索引字段类型的组合,以找到该索引存储的saas_indexn表以及该索引的tableId,生成删除该saas_indexn中索引对应表的所有数据的SQL语句;

对于SELECT语句,当where子句不包含索引字段时:根据所述语法分析树获得所有查询字段及条件,将from子句的表名替换为saas_data,将select子句的子弹翻译为saas_data表中相应的字段名

当where子句不包含索引字段时:根据索引字段的类型组合,从saas_meta表中确定saas_indexn中的n,将带有索引字段的where子句翻译为对应saas_indexn表的where子句并保留满足对应条件的recordID作为结果集,在saas_data表中过滤掉不在recordID中的记录,并将select子句的字段翻译为saas_data表中对应的字段;

对于INSERT语句,根据所述语法分析树将所有插入字段翻译为saas_data表中对应的字段,并加入saas_data表的元数据字段,将插入的表对象替换为saas_data表,判断插入的字段是否包含索引字段,如果含有索引字段,则继续生成一个插入该索引字段对应的saas_indexn表的插入语句;

对于UPDATE语句,语句中SET前部分的翻译与所述INSERT语句的翻译一致,where字句的翻译与所述SELECT语句的翻译一致,拼接上述翻译之后的语句为update的翻译语句;

对于DELETE语句,为所述INSERT语句翻译的逆操作。

2.根据权利要求1所述的方法,其特征在于,所述从接收到的输入信息中识别提取出SQL语句包括:接收输入,并对所述输入进行预处理,输出经预处理后的SQL语句。

3.根据权利要求2所述的方法,其特征在于,所述预处理包括:

判断所述输入中的SQL语句是否符合预定义的语法规则;

若符合所述语法规则,判断所述输入中的SQL语句所属类型,并调用相应的翻译类型。

4.根据权利要求1所述的方法,其特征在于,对所述SQL语句进行语句分析包括:对所述SQL语句进行词法分析和语法分析。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州拉卡拉信息技术有限公司,未经广州拉卡拉信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010010999.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top