首页 / 专利库 / 电脑编程 / 临时别名 / 一种数据库查询语句的转换方法和转换系统

一种数据库查询语句的转换方法和转换系统

阅读:369发布:2020-06-01

专利汇可以提供一种数据库查询语句的转换方法和转换系统专利检索,专利查询,专利分析的服务。并且本 发明 一种 数据库 查询语句的转换方法和转换系统,用户进行库表及字段的设置后,在前台选择所需的数据库表名称、该数据库表的字段,根据业务需要输入自定义的查询语句,将用户输入的语句进行语法解析验证,一次扫描查询语句即可完成解析;将业务化的中文查询语句转 化成 业务系统所需要的标准英文SQL查询语句,本发明提供了将业务化数据库查询语句转化成标准的可执行SQL语句的功能,业务系统可获取此语句直接在系统中使用;普通用户在不掌握数据库查询工具和SQL语法等专业技术的情况下,可以灵活、自由地使用数据库。,下面是一种数据库查询语句的转换方法和转换系统专利的具体信息内容。

1.一种数据库查询语句的转换方法,其特征在于包括以下几个步骤:
步骤1、根据业务系统的英文库表名称设置对应的业务化中文库表名称和标准字段表、业务化中文库表或帐表名称及对应的辅助信息、以及标准字段信息;
步骤2、编译器对数据库查询语句作词法和语法分析后进行语法验证
用户在前台选择所需的数据库表名称和该数据库表的字段,根据业务需要输入自定义的数据库查询语句,编译器在接收到数据库查询语句后,首先对数据库查询语句进行扫描,阅读查询语句执行词法分析的过程,并将字节流序列转成编译器可识别的记号流;所述的语法分析程序从扫描程序中获取记号流形式的源代码,根据语法定义中的规则对数据库查询语句进行语法分析;
经过对数据库查询语句进行词法和语法分析后,如果发现此语句错误,则发送语法验证错误信息,并提供较为准确的错误提示;如果验证正确,表示此数据库查询语句的语法是正确的,则编译器将构造和遍历符合该语句的一棵抽象语法树,并根据需要提取相关的节点信息,组成了编译器模型对象,发送验证成功信息,语法验证结束;
步骤3、翻译数据库查询语句及获取业务数据
接收到语法验证成功信息后,该编译器模型对象负责接收翻译器传回的业务数据,并进行翻译操作;所述的翻译器提供了与业务系统数据库查询语句的各种交互动作,该翻译器负责接收业务系统的表名、字段名等信息及相关业务数据内容的处理,将编译器所需的数据传给编译器模型对象,并将结果传回给业务系统,供业务系统提取使用,完成对业务数据的中转控制与处理。
2.基于权利要求1所述的一种数据库查询语句的转换方法的转换系统,其特征在于:主要包括翻译器和编译器两大部分,所述的翻译器提供了与业务系统查询语句的各种交互动作和与编译器的数据处理功能,翻译器负责接收业务系统的表名、字段名等信息及相关业务数据内容的处理,将编译器所需的数据传给编译器模型对象,并将结果传回给业务系3,供业务系统提取使用,完成对业务数据的中转控制与处理;该编译器负责语法验证及数据处理等的核心工作;所述编译器的模型对象用来构造编译器模型对象基类,用于进行数据库查询语句的公共处理及存储编译器语法解析后遍历语法树时的节点信息内容,通过此模型对象将内容传给翻译器,由翻译器负责与业务系统进行交互。
3.根据权利要求2所述的一种数据库查询语句的转换系统:其特征在于:所述的查询语句包括常规语句、追加语句、比较语句、循环语句和自定义查询语句。
4.根据权利要求2所述的一种数据库查询语句的转换系统:其特征在于:所述的翻译器主要包括:
查询语句接收模:用于接收业务系统传入的数据库查询语句,并传给编译器进行解析验证;
库表信息设置模块及字段信息设置模块:用于根据编译器获取的库表中文名称,接收业务系统的库表英文名称、字段中英文名称及用来临时存储业务相关数据的辅助信息,并将这些内容传回编译器进行处理;
别名信息设置模块:用于根据编译器获取的别名信息,接收对应的英文别名并传回编译器;
循环变量值设置模块:用于根据编译器获取的循环变量,接收业务系统的循环变量的值并传回编译器进行处理;
查询语句翻译模块:用于将业务化中文数据库查询语句交给编译器处理,翻译成标准英文查询语句,并将包括空查询语句、空执行语句、完整执行语句的各种结果发送给业务系统;
查询语句转XML格式模块:用于处理业务系统数据,并将数据库查询语句转成XML格式,将内容转存到业务系统数据库,方便业务系统的操作;
XML格式转查询语句模块:用于将业务系统数据库中已有的XML格式的内容转成转换系统可识别的数据库查询语句及其他数据,达到业务处理的定位功能;
编译器模型对象获取模块:用于实现与编译器各模型对象的获取,并进行交互操作;
验证错误信息获取模块:用于获取编译器语法验证错误信息,并将该错误信息发送给业务系统;
查询语句格式化处理模块:用于通过编译器进行数据库查询语句的格式化处理;
各子句内容获取模块:用于通过对编译器各模型对象处理,获取各子句的内容,方便业务系统提取;
循环变量获取模块和各别名信息获取模块:用于获取编译器的循环变量、表别名、字段别名等信息。
5.根据权利要求2所述的一种数据库查询语句的转换系统:其特征在于:所述的编译器主要包括:
词法、语法和语法树分析模块:用于对翻译器传回的查询语句进行验证解析工作,接收业务化的查询语句,进行词法分析、语法分析、语法树的分析;
语句模型构造模块:用于根据业务系统的查询语句的类型,构造常规模型对象、表合并模型对象、表比较模型对象三种类型中对应的模型对象;
语句遍历模块:用于构造编译器模型对象基类,进行查询语句的公共处理及存储遍历语法树过程中所获取的相关语法树的节点信息;
子句构造模块:用于设计各类子句模型对象,获取各子句下的内容项;
子句表、字段内容模块:用于设计表单模型对象、字段模型对象,可存储数据库表的中英文信息、字段的中英文信息,方便编译器的表、字段的中英文翻译及格式化操作;构造表别名、字段别名、排序别名对象,实现各种别名信息的获取。

说明书全文

技术领域

发明涉及一种数据库查询语句的转换方法和转换系统

背景技术

目前大型的软件应用系统中,经常需要把程序和数据库结合起来进行使用。这些数据库的查询可以通过软件应用系统所提供的查询功能,也可以通过数据库产商提供的数据库工具进行。由于软件应用系统中提供的查询功能都是预先设计好的,使用者需要进行新的查询时,只能通过升级系统来实现,时间上存在滞后,且依然无法满足将来可能的新需求。通过数据库工具进行查询可以满足使用者随时新增加的查询需求,但是若使用者不能熟练掌握数据库工具和熟悉SQL(结构化查询语言)语法(通常为英文),就不能灵活、自由地查询数据库,造成使用上的不便。

发明内容

本发明的目的在于提供一种面向普通用户,使之在不掌握数据库查询工具和SQL语法等专业技术的情况下,将用户输入的查询指令转换成数据库能执行的查询语句的方法和系统。
一种数据库查询语句的转换方法,包括以下几个步骤:
步骤1、根据业务系统的英文库表名称设置对应的业务化中文库表名称和标准字段表、业务化中文库表或帐表名称及对应的辅助信息、以及标准字段信息;
步骤2、编译器对数据库查询语句作词法和语法分析后进行语法验证
用户在前台选择所需的数据库表名称和该数据库表的字段,根据业务需要输入自定义的数据库查询语句,编译器在接收到数据库查询语句后,首先对数据库查询语句进行扫描,阅读查询语句执行词法分析的过程,并将字节流序列转成编译器可识别的记号流;所述的语法分析程序从扫描程序中获取记号流形式的源代码,根据语法定义中的规则对数据库查询语句进行语法分析;
经过对数据库查询语句进行词法和语法分析后,如果发现此语句错误,则发送语法验证错误信息,并提供较为准确的错误提示;如果验证正确,表示此数据库查询语句的语法是正确的,则编译器将构造和遍历符合该语句的一棵抽象语法树,并根据需要提取相关的节点信息,组成了编译器模型对象,发送验证成功信息,语法验证结束;
步骤3、翻译数据库查询语句及获取业务数据
接收到语法验证成功信息后,该编译器模型对象负责接收翻译器传回的业务数据,并进行翻译操作;所述的翻译器提供了与业务系统数据库查询语句的各种交互动作,该翻译器负责接收业务系统的表名、字段名等信息及相关业务数据内容的处理,将编译器所需的数据传给编译器模型对象,并将结果传回给业务系统,供业务系统提取使用,完成对业务数据的中转控制与处理。
一种数据库查询语句的转换系统,主要包括翻译器和编译器两大部分,所述的翻译器提供了与业务系统查询语句的各种交互动作和与编译器的数据处理功能,翻译器负责接收业务系统的表名、字段名等信息及相关业务数据内容的处理,将编译器所需的数据传给编译器模型对象,并将结果传回给业务系3,供业务系统提取使用,完成对业务数据的中转控制与处理;该编译器负责语法验证及数据处理等的核心工作;所述编译器的模型对象用来构造编译器模型对象基类,用于进行数据库查询语句的公共处理及存储编译器语法解析后遍历语法树时的节点信息内容,通过此模型对象将内容传给翻译器,由翻译器负责与业务系统进行交互。
所述的查询语句包括常规语句、追加语句、比较语句、循环语句和自定义查询语句。
所述的翻译器主要包括:
查询语句接收模110:用于接收业务系统传入的数据库查询语句,并传给编译器进行解析验证;
库表信息设置模块111及字段信息设置模块112:用于根据编译器获取的库表中文名称,接收业务系统的库表英文名称、字段中英文名称及用来临时存储业务相关数据的辅助信息,并将这些内容传回编译器进行处理;
别名信息设置模块113:用于根据编译器获取的别名信息,接收对应的英文别名并传回编译器;
循环变量值设置模块114:用于根据编译器获取的循环变量,接收业务系统的循环变量的值并传回编译器进行处理;
查询语句翻译模块115:用于将业务化中文数据库查询语句交给编译器处理,翻译成标准英文查询语句,并将包括空查询语句、空执行语句、完整执行语句的各种结果发送给业务系统;
查询语句转XML格式模块116:用于处理业务系统数据,并将数据库查询语句转成XML格式,将内容转存到业务系统数据库,方便业务系统的操作;
XML格式转查询语句模块117:用于将业务系统数据库中已有的XML格式的内容转成转换系统可识别的数据库查询语句及其他数据,达到业务处理的定位功能;
编译器模型对象获取模块118:用于实现与编译器各模型对象的获取,并进行交互操作;
验证错误信息获取模块119:用于获取编译器语法验证错误信息,并将该错误信息发送给业务系统;
查询语句格式化处理模块120:用于通过编译器进行数据库查询语句的格式化处理;
各子句内容获取模块121:用于通过对编译器各模型对象处理,获取各子句的内容,方便业务系统提取;
循环变量获取模块122和各别名信息获取模块124:用于获取编译器的循环变量、表别名、字段别名等信息。
所述的编译器主要包括:
词法、语法和语法树分析模块21:用于对翻译器传回的查询语句进行验证解析工作,接收业务化的查询语句,进行词法分析、语法分析、语法树的分析;
语句模型构造模块22:用于根据业务系统的查询语句的类型,构造常规模型对象、表合并模型对象、表比较模型对象三种类型中对应的模型对象;
语句遍历模块23:用于构造编译器模型对象基类,进行查询语句的公共处理及存储遍历语法树过程中所获取的相关语法树的节点信息;
子句构造模块24:用于设计各类子句模型对象,获取各子句下的内容项;
子句表、字段内容模块25:用于设计表单模型对象、字段模型对象,可存储数据库表的中英文信息、字段的中英文信息,方便编译器的表、字段的中英文翻译及格式化操作;构造表别名、字段别名、排序别名对象,实现各种别名信息的获取。
本发明一种数据库查询语句的转换方法和转换系统中应用了ANTLR元语言技术工具(一种语言识别工具),使用BNF巴科斯范式(Backus-Naur Form)进行语法定义,采用基于LL(K)的文法编译原理技术实现的,实现了数据库查询语句的灵活查询及强大语法验证功能,可以准确地分析复杂的语法,并能根据数据库查询语句对应的数据库表、标准字段表等信息将业务化的中文查询语句翻译成业务系统(数据库)可执行的标准的SQL语句,供业务系统提取使用。本发明支持常规语句、追加语句、比较语句、循环语句、自定义语句等常用的五种查询语句。
本发明用于辅助业务系统进行数据库查询语句的语法解析验证、查询语句的翻译及语句的相关业务数据提取,提供了与业务系统无关性的接口,任何系统均可与本接口进行无缝连接。
附图说明
图1为本发明中数据库查询语句验证过程流程图
图2为本发明中数据库查询语句语法验证成功后生成的抽象语法树;
图3为本发明中数据库查询语句翻译及数据获取的业务流程图;
图4为基于本发明的系统逻辑架构图;
图5为基于本发明的系统构架图;
图6为本发明中翻译器的框架示意图;
图7为本发明中编译器的框架示意图。
以下结合附图和具体实施方式对本发明作进一步详述。

具体实施方式

本发明适用于基于J2EE架构技术平台的审计系统或业务系统,需依赖于工具的基础表或业务系统的数据库表、标准字段表方可进行数据库查询语句的翻译及业务数据处理活动。
如图4、5所示,基于本发明的转换系统包括翻译器1(Translator)和编译器2(Compiler)两大部分,翻译器1负责与业务系统3的交互工作,编译器2负责语法验证及数据处理等的核心工作。本发明应用了ANTLR元语言技术工具(一种语言识别工具),使用BNF巴科斯范式(Backus-Naur Form)进行语法定义,采用基于LL(K)的文法编译原理技术实现的,实现了数据库查询语句的灵活查询及强大语法验证功能,可以准确地分析复杂的语法,并能根据数据库查询语句对应的数据库表、标准字段表等信息将业务化的中文查询语句翻译成业务系统(数据库)可执行的标准的SQL语句,供业务系统提取使用。本发明支持常规语句、追加语句、比较语句、循环语句、自定义语句等常用的五种查询语句4。
本发明用于辅助业务系统3进行数据库查询语句的语法解析验证、查询语句的翻译及语句的相关业务数据提取,提供了与业务系统3无关性的接口,任何系统均可与本接口进行无缝连接。
用户进行库表及字段的设置后,在前台选择所需的数据库表名称、该数据库表的字段,根据业务需要输入自定义的查询语句,本发明可将用户输入的数据库查询语句进行语法解析验证,一次扫描该数据库查询语句即可完成解析。本发明可以将业务化的中文查询语句4转化成业务系统3所需要的标准英文SQL查询语句,本发明提供了将业务化数据库查询语句4转化成标准的可执行SQL语句的功能,业务系统可获取此语句直接在系统中使用。
如图4、6所示,所述的翻译器1提供了与业务系统查询语句4的各种交互动作和与编译器2的数据处理功能,查询语句3包括常规语句、追加(合并)语句、比较语句、循环语句、自定义查询语句。翻译器1负责接收业务系统3的表名、字段名等信息及相关业务数据内容的处理,将编译器2所需的数据传给编译器模型对象,并将结果传回给业务系统3,供业务系统3提取使用,完成对业务数据的中转控制与处理。所述的翻译器1主要包括:
查询语句接收模块110:用于接收业务系统3传入的数据库查询语句,并传给编译器2进行解析验证;
库表信息设置模块111及字段信息设置模块112:用于根据编译器2获取的库表中文名称,接收业务系统3的库表英文名称、字段中英文名称及其他辅助信息,并将这些内容(辅助信息用来临时存储业务相关数据)传回编译器2进行处理;
各别名信息设置模块113:用于根据编译器2获取的别名信息(表别名、字段别名、排序别名),接收对应的英文别名,并传回编译器2;
循环变量值设置模块114:用于根据编译器2获取的循环变量,接收业务系统3的循环变量的值,并传回编译器3进行处理;
查询语句翻译模块115:用于将业务化中文数据库查询语句4交给编译器2处理,翻译成标准英文查询语句,并将各种结果(空查询语句、空执行语句、完整执行语句)发送给业务系统3;
查询语句转XML格式模块116:用于处理业务系统数据,并将数据库查询语句转成XML格式,将内容转存到业务系统数据库,方便业务系统3的操作;
XML格式转查询语句模块117:用于将业务系统数据库中已有的XML格式的内容转成转换系统可识别的数据库查询语句及其他数据,达到业务处理的定位功能;
编译器模型对象获取模块118:用于实现与编译器2各模型对象的获取,并进行交互操作;
验证错误信息获取模块119:用于获取编译器2语法验证错误信息,并将该错误信息发送给业务系统3;
查询语句格式化处理模块120:用于通过编译器2进行数据库查询语句的格式化处理;
各子句内容获取模块121:用于通过对编译器2各模型对象处理,获取各子句的内容,方便业务系统3提取;
循环变量获取模块122和各别名信息获取模块123:用于获取编译器2的循环变量、表别名、字段别名等信息。
如图7所示,所述编译器2的核心模型对象(QueryModel),用来构造编译器2模型对象基类,用于进行数据库查询语句的公共处理及存储编译器语法解析后遍历语法树时的节点(根节点、叶子节点)信息内容,通过此模型对象将内容传给翻译器1,由翻译器1负责与业务系统3进行交互。该编译器2主要包括:
词法、语法和语法树分析模块21:用于进行翻译器1传回的查询语句验证解析工作,接收业务化的查询语句4,进行词法分析、语法分析、语法树的分析;
语句模型构造模块22:用于根据业务系统3的查询语句4的类型(常规语句、追加语句、比较语句、循环语句、自定义查询语句),构造常规模型对象、表合并模型对象、表比较模型对象三种类型中对应的模型对象;
语句遍历模块23:用于构造编译器2模型对象基类,进行查询语句的公共处理及存储遍历语法树过程中所获取的相关语法树(AST)的节点信息;
子句构造模块24:用于设计各类子句(SELECT子句、FROM子句、WHERE子句、GROUP BY子句、ORDER BY子句)模型对象,实现可灵活获取各子句下的内容项;
子句表、字段内容模块25:用于设计表单模型对象、字段模型对象,可存储数据库表的中英文信息、字段的中英文信息,方便编译器的表、字段的中英文翻译及格式化操作;构造表别名、字段别名、排序别名对象,实现各种别名信息的获取。
本发明一种数据库查询语句的转换方法,包括以下几个步骤:
步骤1、根据业务系统的英文库表名称设置对应的业务化中文库表名称和标准字段表
用户根据业务系统3的英文库表名称,设置对应的业务化中文库表或帐表名称,以及对应的辅助信息,如库表所在的数据库(当使用多个数据库时)、库表的类别等。通过设置库表,用户在前台就可以用直接选择业务化的库表名称即可,而无需去记住其英文名称,当然,上述的业务化中文库表名称也可根据用户的语言习惯选择相适配的语言。
用户根据业务系统3的英文库表名称,设置此库表对应的标准字段信息,主要为字段中文名称、对应业务系统中的英文名称、对应的库表名称以及该字段的数据类型、最大长度、精度等。当用户选择的某一中文库表名称后,可通过快捷键直接获取该表对应的字段信息,方便业务人员的操作。
步骤2、编译器对数据库查询语句作词法和语法分析后进行语法验证
LL(K)文法定义
第一个L表示从左向右扫描输入串,第二个L表示使用最左推导(每次将最左边的非终结符应用产生式进行推导),k表示向右扫描k个符号就可以确定使用哪个产生式。
词法定义
词法是一个查询语句4能够接受的所有输入的集合,扫描输入的文本时,判断当前字符是不是一个可以接受的字符,比如我们对合法的标识符下了这样的定义:
IDENTIFIER options{testLiterals=true;}
:’a’..’z’(’a’..’z’’0’..’9’’_’|’$’|’#’)*;
也就是说,一个标识符由字母开头,字母、数字、下划线、“$”符号和“#”组成。那么abc和a01、a_01等就是合法的标识符,而a(01)就不是一个合法的标识符。如果在文法中定义某个位置需要一个标识符,而扫描到的字符串是a(01)这样的文本,那么这就不是一个标识符,会产生一个语法异常的信息。
语法定义
一个语句的语法定义G=(Vt,Vn,S,P)。
Vt为终结符,包括前面定义的词法(关键字、标识符、标点符号等,就是所有能够由用户直接输入的符号集合),具体有{EOF,查询,来自,COMMA,identifier,WS},其中EOF为文件结束符,”查询”、“来自”为字符串常量,COMMA为标点符号“,”,identifier为标识符,WS为分隔符。
Vn为非终结符,在这里有{start_rule,select_expression,select_list,table_reference_list,displayed_column,selected_table}
S为开始符号,语法验证的入口,在这里S=start_rule
P为产生式(也称规则),如下:
start_rule=(select_expression)*EOF
select_expression=”查询”select_list“来自”table_reference_list
select_list=displayed_column(COMMA displayed_column)*
table_reference_list=selected_table(COMMA selected_table)*
displayed_column=identifier
selected_table=identifier
语句推导(语法分析)
对用户输入的数据库查询语句的推导过程就是进行语法分析的过程,根据语句能否应用到所定义的语法规则来判断语句是否正确。下面以“查询表1.字段1,表1.字段2来自表1”为例:
1、用户输入数据库查询语句“查询表1.字段1,表1.字段2来自表1”;
2、编译器首先接收查询语句的第一个词为,“查询”,就开始使用所定义的语法规则进行推导;
3、开始符号为start_rule,它产生了(select_expression)*EOF的产生式;
4、再应用select_expression的产生式,得到是”查询”select_list“来自”table_reference_list,此时输入的关键字”查询”与产生式的”查询”匹配成功。如果这时候查询语句结束,则将出现解析错误,原因为查询后面缺少了字段;
5、继续获取下一个词为:“表1.字段1”,它所应用的产生式为:select_list;
6、select_list产生的是displayed_column(COMMAdisplayed_column)*的规则,displayed_column产生的是identifier的标识符,这时“表1.字段1”为所定义的identifier,则验证成功;
7、继续获取下一个词为:“,”,它所应用的规则为COMMA,匹配成功;
8、继续获取下一个词为:“表1.字段2”,它所应用的规则为displayed_column,displayed_column产生的是identifier的标识符,这时“表1.字段2”为所定义的identifier,则验证成功;
9、继续获取下一个词为:“来自”,与select_expression的产生式的“来自”一致,匹配成功;
10、继续获取下一个词为:“表1”,它所应用的规则为table_reference_list;
11、table_reference_list产生的是selected_table(COMMAselected_table)*表达式,selected_table产生的是identifier的标识符,这时“表1”为所定义的identifier,则验证成功。
12、最后为EOF,表明语句验证结束,所输入的查询语句4均能符合所定义的表达式,解析正确,这时将会生成一个抽象语法树,如图2所示。
如图1所示,用户在前台选择所需的数据库表名称、该数据库表的字段,根据业务需要输入自定义的数据库查询语句4,编译器2在接收到数据库查询语句4后,首先对数据库查询语句4进行扫描,即阅读查询语句4(通常以字节流表示),扫描程序就是执行词法分析(Lexer Analysis)的过程,并将字节流序列转成编译器2可识别的记号流(TOKEN)。所述的语法分析程序从扫描程序中获取记号流形式的源代码,根据语法定义中的规则对数据库查询语句4进行语法分析(Parser Analysis)。
所述的语法验证包含了对关键字(如:查询SELECT、来自FROM、条件WHERE)、标点符号、运算符号(如:加、减、乘、除)、聚合函数(如:求平均值AVG、求最大值MAX)、数学函数(如:取绝对值ABS、求余弦值COS)、日期时间函数(如:取当前日期时间SYSDATE)、字符串函数(如:求字符串长度LENGTH、字符串截取SUBSTR)、数据类型转化函数(如:转为日期TO_DATE)等的验证。
经过对数据库查询语句4进行词法和语法分析后,如果发现此语句错误,则发送语法验证错误信息,并提供较为准确的错误提示;如果验证正确,则表示此数据库查询语句4的语法是正确的,则编译器2将构造和遍历符合该语句的一棵抽象语法树(AST),并根据需要提取相关的节点(根节点、叶子节点)信息,组成了编译器模型对象(QueryModel),发送验证成功信息,语法验证结束。
步骤3、翻译数据库查询语句及获取业务数据
如图3所示,接收到验证成功信息后,该编译器模型对象负责接收翻译器1传回的业务数据,如表名、字段名、表别名、字段别名等信息,并进行翻译操作。所述的翻译器1提供了与业务系统数据库查询语句的各种交互动作,该翻译器1负责接收业务系统的表名、字段名等信息及相关业务数据内容的处理,将编译器2所需的数据传给编译器模型对象,并将结果传回给业务系统3,供业务系统3提取使用,完成对业务数据的中转控制与处理。
用户进行库表及字段的设置后,在前台选择所需的数据库表名称、该数据库表的字段,根据业务需要输入自定义的查询语句,本发明可将用户输入的语句进行语法解析验证,一次扫描查询语句即可完成解析。
本发明对数据库查询语句语法验证的最终目的是要将业务化的中文查询语句转化成业务系统所需要的标准英文SQL查询语句,本发明提供了将业务化数据库查询语句转化成标准的可执行SQL语句的功能,业务系统可获取此语句直接在系统中使用。除了业务系统3可对标准英文SQL查询语句的获取外,本发明还可准确识别并获取不同子句下的内容项,包括SELECT子句的查询内容、FROM子句的表信息、WHERE子句的条件信息、GROUP BY子句的分组内容、ORDER BY子句的排序内容、表合并的表信息、循环语句的变量参数等。
具体实施时,用户查询的操作流程为:
1、使用快捷键选择常用关键字:
可使用CTRL+1、CTRL+2等快捷键,快速选择常用关键字、函数等。
或者,在输入框任意位置选择所需帐表、字段、快捷词:
可在中文查询语句输入框的任意位置选择帐表名称、择帐表字段、快捷词(常用关键字、函数、运算符等)。
2、根据所选帐表自动匹配对应中文字段:
在选择完帐表名称后,输入”.”时,可根据当前输入的帐表名称自动查找其对应的中文字段。
3、对输入语句进行语法验证:
语法检查正确,验证成功,可将输入的自定义中文查询语句翻译成标准的英文查询语句;
语法检查错误,验证失败,可较为准备提示错误信息,方便使用人员纠错。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈