[发明专利]一种表结构上下文的快速生成方法及系统有效
申请号: | 202010695237.1 | 申请日: | 2020-07-19 |
公开(公告)号: | CN112000661B | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 朱滕波 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 李修杰 |
地址: | 250101 山东省济南*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 结构 上下文 快速 生成 方法 系统 | ||
1.一种表结构上下文的快速生成方法,其特征在于,所述方法包括以下操作:
在数据库系统表中获取所有的表名和字段名,并存入以数据库名+用户名命名的本地文件中,形成表结构文件,并通过关键字分行存储表名和字段名;
在编写sql语句时,根据当前数据库名以及用户名定位到对应的本地表结构文件中;
根据当前sql的内容、from/where关键字位置以及光标位置判断当前输入的是表名还是字段名,具体为:
获取当前编写sql语句中select/from/where关键字位置以及光标位置,如果光标位置在select和from之间或光标在where之后,则判断当前输入的是字段名;如果光标位置在from和where之间或光标位置在from之后且没有where关键字,则判断当前输入的是表名;
如果当前输入的是表名,则在表结构文件中根据关键字查询所有表名,并根据光标当前输入的内容,对获取的各表表名进行过滤,将包含输入内容的表名输出到上下文中;如果当前输入的是字段名,根据from/where关键字找到当前编写sql的表名,在表结构文件中根据关键字查询该表名下的所有字段名,根据光标当前输入的内容,对获取的表中字段名进行过滤,将包含输入内容的字段名输出到上下文中。
2.根据权利要求1所述的一种表结构上下文的快速生成方法,其特征在于,所述表结构文件的具体结构为:
各表表名保存为一行,以关键字table开头;
每个表的字段名保存成一行,前面以关键字表名开头。
3.根据权利要求1所述的一种表结构上下文的快速生成方法,其特征在于,当前输入的为表名时,所述在表结构文件中根据关键字查询所有表名中的关键字为table;
当前输入的为字段名时,所述在表结构文件中根据关键字查询该表名下的所有字段名中的关键字为表名。
4.一种表结构上下文的快速生成系统,其特征在于,所述系统包括:
表结构文件生成模块,用于在数据库系统表中获取所有的表名和字段名,并存入以数据库名+用户名命名的本地文件中,形成表结构文件,并通过关键字分行存储表名和字段名;
表结构文件连接模块,用于在编写sql语句时,根据当前数据库名以及用户名定位到对应的本地表结构文件中;
当前输入类型判断模块,用于根据当前sql的内容、from/where关键字位置以及光标位置判断当前输入的是表名还是字段名;
输入上下文生成模块,用于如果当前输入的是表名,则在表结构文件中根据关键字查询所有表名,并根据光标当前输入的内容,对获取的各表表名进行过滤,将包含输入内容的表名输出到上下文中;如果当前输入的是字段名,根据from/where关键字找到当前编写sql的表名,在表结构文件中根据关键字查询该表名下的所有字段名,根据光标当前输入的内容,对获取的表中字段名进行过滤,将包含输入内容的字段名输出到上下文中。
5.根据权利要求4所述的一种表结构上下文的快速生成系统,其特征在于,所述表结构文件的具体结构为:
各表表名保存为一行,以关键字table开头;
每个表的字段名保存成一行,前面以关键字表名开头。
6.一种表结构上下文的快速生成设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现根据权利要求1-3任意一项所述的表结构上下文的快速生成方法。
7.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现根据权利要求1-3任意一项所述的表结构上下文的快速生成方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010695237.1/1.html,转载请声明来源钻瓜专利网。