[发明专利]一种数据库sql查询语句自动生成的装置有效
申请号: | 201810087204.1 | 申请日: | 2018-01-30 |
公开(公告)号: | CN108388589B | 公开(公告)日: | 2022-09-16 |
发明(设计)人: | 吴游颖;林荫峰;蔡世平;方超 | 申请(专利权)人: | 福建星瑞格软件有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F11/36 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 王美花 |
地址: | 350000 福建省福州市鼓楼*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 sql 查询 语句 自动 生成 装置 | ||
本发明提供一种数据库sql查询语句自动生成的装置,包括表和函数处理模块,用于从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息,对表结构信息和函数信息进行类型匹配,且将类型相同的表结构信息和函数信息进行保存;query总生成模块,用于利用随机算法从保存的表结构信息和函数信息中随机选取列和函数生成各需要的查询语句,且将各需要的查询语句嵌套拼接成一条完整的sql查询语句;可执行文本生成模块,用于将完整的sql查询语句输出并生成一个可执行脚本文件,且在数据库中执行生成的可执行脚本文件。通过本发明装置可实现批量的sql查询语句自动生成,可极大的提高sql可执行脚本的制造效率,并降低人力成本。
技术领域
本发明涉及数据库领域,特别涉及一数据库sql查询语句自动生成的装置。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理已不再仅仅是存储和管理数据,且已转变成用户所需要的各种数据管理的方式。
近几年来,随着大数据的发展,数据库的类型变得越来越多,sql语法和使用方法也不同,对功能和性能的要求也越来越高,因此,对数据库进行功能和性能测试是必不可少的一个环节。现有技术在进行数据库功能和性能的测试时,很多还是需要由开发者和测试者自己编写sql查询语句进行测试,而采用人工编写不仅无法包含所有的sql查询语句和case,而且测试效率极低,还很容易出现语法错误,根本无法满足对大数据的测试需求。当然,现有技术中也存在有一些sql查询语句自动生成工具,但是,现有的sql查询语句自动生成工具其所生成的sql语句都只有简单的主查询语句,简单的sql语句是无法包含所有的sql查询函数和OLAP语句的,因此,也很容易造成测试case的遗漏。
发明内容
本发明要解决的技术问题,在于提供一种数据库sql查询语句自动生成的装置,可实现批量的sql查询语句自动生成,可极大的提高sql可执行脚本的制造效率,并降低人力成本。
本发明是这样实现的:一种数据库sql查询语句自动生成的装置,所述装置包括表和函数处理模块、query总生成模块以及可执行文本生成模块;
所述表和函数处理模块,用于从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息,对表结构信息和函数信息进行类型匹配,且将类型相同的表结构信息和函数信息进行保存;
所述query总生成模块,用于利用随机算法从保存的表结构信息和函数信息中随机选取列和函数生成各需要的查询语句,且将各需要的查询语句嵌套拼接成一条完整的sql查询语句;
所述可执行文本生成模块,用于将完整的sql查询语句输出并生成一个可执行脚本文件,且在数据库中执行生成的可执行脚本文件。
进一步地,在所述表和函数处理模块中,所述从数据库中获取要查询的表的表结构信息以及所有支持的内置函数的函数信息具体为:
从数据库中获取要查询的表的列名以及表中各个列的类型信息,且将获取的表结构信息编辑成第一文本文件;从数据库中获取所有支持的内置函数的函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息,且将获取的函数信息编辑成第二文本文件;所述所有支持的内置函数包括操作符、聚合函数、OLTP函数或者OLAP函数。
进一步地,所述对表结构信息和函数信息进行类型匹配,且将类型相同的表结构信息和函数信息进行保存具体为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建星瑞格软件有限公司,未经福建星瑞格软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810087204.1/2.html,转载请声明来源钻瓜专利网。