[发明专利]一种数据库sql查询语句自动生成的装置有效
申请号: | 201810087204.1 | 申请日: | 2018-01-30 |
公开(公告)号: | CN108388589B | 公开(公告)日: | 2022-09-16 |
发明(设计)人: | 吴游颖;林荫峰;蔡世平;方超 | 申请(专利权)人: | 福建星瑞格软件有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F11/36 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 王美花 |
地址: | 350000 福建省福州市鼓楼*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 sql 查询 语句 自动 生成 装置 | ||
1.一种数据库sql查询语句自动生成的装置,其特征在于:所述装置包括表和函数处理模块、query总生成模块以及可执行文本生成模块;
所述表和函数处理模块,用于从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息,对表结构信息和函数信息进行类型匹配,且将类型相同的表结构信息和函数信息进行保存;
所述从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息具体为:
从数据库中获取要查询的表的列名以及表中各个列的类型信息,且将获取的表结构信息编辑成第一文本文件;从数据库中获取所有支持的内置函数的函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息,且将获取的函数信息编辑成第二文本文件;所述所有支持的内置函数包括操作符、聚合函数、OLTP函数或者OLAP函数;
所述query总生成模块,用于利用随机算法从保存的表结构信息和函数信息中随机选取列和函数生成各需要的查询语句,且将各需要的查询语句嵌套拼接成一条完整的sql查询语句;
所述可执行文本生成模块,用于将完整的sql查询语句输出并生成一个可执行脚本文件,且在数据库中执行生成的可执行脚本文件;
所述query总生成模块包含select生成模块、from生成模块以及condition生成模块;
所述select生成模块,用于利用随机算法从保存的表结构信息和函数信息中随机选取列和内置函数生成select查询语句或者生成各个嵌套查询语句中的select子查询语句;
所述from生成模块,用于利用随机算法生成from查询语句或者生成各个嵌套查询语句中的from子查询语句;
所述condition生成模块,用于利用随机算法生成condition查询语句或者生成各个嵌套查询语句中的condition子查询语句。
2.根据权利要求1所述的一种数据库sql查询语句自动生成的装置,其特征在于:所述对表结构信息和函数信息进行类型匹配,且将类型相同的表结构信息和函数信息进行保存具体为:
将第一文本文件中各个列的类型信息与第二文本文件中函数返回值类型进行比对匹配,且如果类型匹配,则保存列和函数返回值;如果类型不匹配,则不保存列和函数返回值;将第一文本文件中各个列的类型信息与第二文本文件中内置函数所包含的各个参数的类型信息进行比对匹配,且如果各个列的类型信息与内置函数所包含的各个参数的类型信息均对应匹配,则将各个列的类型信息填入内置函数对应的参数表中保存;否则就不将各个列的类型信息填入内置函数对应的参数表中保存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星瑞格软件有限公司,未经福建星瑞格软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810087204.1/1.html,转载请声明来源钻瓜专利网。