结构化查询语言语句的执行方法及装置制造方法及图纸

技术编号:39570666 阅读:15 留言:0更新日期:2023-12-03 19:21
本申请实施例提供一种结构化查询语言语句的执行方法及装置

【技术实现步骤摘要】
结构化查询语言语句的执行方法及装置、设备和存储介质


[0001]本专利技术涉及大数据处理
,尤其涉及一种结构化查询语言语句的执行方法及装置

设备和存储介质


技术介绍

[0002]随着大数据技术日新月异的发展,底层数据存储的组件和服务也在不断增多,比如常见的关系型数据库:
Oracle、MySQL、SQL Server、Postgresql、DB2
等,统一结构化查询语言
(structured query language

SQL)
分析能够通过工业级标准的统一
SQL
语法,提供对多种数据源进行计算分析的入口,统一
SQL
分析技术很好地解决了不同数据源在
SQL
语法上存在差异的问题

[0003]但是不同数据库对同一个函数的定义和实现上可能存在差异,
SQL
语句执行时经过统一
SQL
转换后语句中的函数,若在数据库产品中没有相应定义则会导致查询出错

也就是说用户在使用统一
SQL
分析系统查询特定数据源时,除了掌握通用
SQL
中该函数的语法外,还需要了解函数在该数据源中的定义,才能保证
SQL
语句下发后被正确执行,这在一定程度上也增加了用户的使用成本


技术实现思路

[0004]本申请提供了一种结构化查询语言语句的执行方法及装置

设备和存储介质,用于在
SQL
语句执行期间匹配最相符的
SQL
函数进行执行,使得用户无需完全掌握各个函数库中的
SQL
函数,降低了用户的使用成本

[0005]本申请实施例第一方面提供一种结构化查询语言语句的执行方法,包括:接收结构化查询语言
SQL
语句;执行
SQL
语句,
SQL
语句包括至少一个原始函数;在执行
SQL
语句的过程中,对原始函数进行函数重载操作,以得到原始函数对应的
SQL
函数;函数重载操作包括:确定原始函数的函数信息;在目标
SQL
函数库中,筛选出与函数信息匹配的
SQL
函数;根据原始函数对应的
SQL
函数确定目标
SQL
函数,并根据目标
SQL
函数更新原始函数;执行更新后的原始函数

[0006]本申请实施例提供的
SQL
语句的执行方法,在执行
SQL
语句中的原始函数时,对原始函数进行函数重载操作,得到原始函数对应的
SQL
函数

由于用户撰写
SQL
语句时,可能并不熟悉所有
SQL
函数库中的
SQL
函数

对原始函数进行函数重载,使得用户无需熟悉各个
SQL
函数库的特定函数,只要撰写的原始函数在其它函数库中有相应定义即可得到匹配的
SQL
函数

从原始函数对应的
SQL
函数中选取目标
SQL
函数,根据目标
SQL
函数更新原始函数进行执行

如此一来,用户在撰写
SQL
语句时,无需熟悉各个
SQL
函数库的特定函数,在其它函数库中有相应定义即可自动匹配用于
SQL
执行,能够降低用户的使用成本

[0007]结合第一方面的第一种实现方式,根据原始函数对应的
SQL
函数确定目标
SQL
函数,包括:基于
SQL
函数所属的
SQL
函数库的优先级,在原始函数对应的
SQL
函数中选取目标
SQL
函数;
SQL
函数库包括:当前数据源函数库

标准函数库和其他数据源函数库,当前数据
源函数库的优先级大于标准函数库的优先级,标准函数库的优先级大于其他数据源函数库的优先级;每个数据源对应一个
SQL
函数库;当前数据源函数库为
SQL
语句对应的数据源的
SQL
函数库

[0008]结合第一方面的第二种实现方式,在开启函数下推的情况下,目标
SQL
函数对应的
SQL
函数库为当前数据源函数库或标准函数库

[0009]结合第一方面的第三种实现方式,接收结构化查询语言
SQL
语句之前,执行方法还包括:响应于用户开启函数下推的操作,输出提示信息,提示信息用于提示在当前数据源函数库和标准函数库中,选取目标
SQL
函数库

[0010]结合第一方面的第四种实现方式,函数信息包括:函数名

函数语法

函数参数个数

函数参数类型和函数类别

[0011]结合第一方面的第五种实现方式,执行方法还包括:对
SQL
函数库中的每个
SQL
函数进行定义,使得每个
SQL
函数对应一个函数信息

[0012]本申请实施例第二方面提供了一种结构化查询语言语句的执行装置,包括:接收模块,用于接收结构化查询语言
SQL
语句;执行模块,用于执行
SQL
语句,
SQL
语句包括至少一个原始函数;重载模块,用于在执行
SQL
语句的过程中,对原始函数进行函数重载操作,以得到原始函数对应的
SQL
函数;函数重载操作包括:确定原始函数的函数信息;在目标
SQL
函数库中,筛选出与函数信息匹配的
SQL
函数;确定模块,用于根据原始函数对应的
SQL
函数确定目标
SQL
函数,并根据目标
SQL
函数更新原始函数;执行模块,还用于执行更新后的原始函数

[0013]结合第二方面的第一种实现方式,确定模块具体用于,基于
SQL
函数所属的
SQL
函数库的优先级,在原始函数对应的
SQL
函数中选取目标
SQL
函数;
SQL
函数库包括:当前数据源函数库

标准函数库和其他数据源函数库,当前数据源函数库的优先级大于标准函数库的优先级,标准函数库的优先级大于其他数据源函数库的优先级;每个数据源对应一个
SQL...

【技术保护点】

【技术特征摘要】
1.
一种结构化查询语言语句的执行方法,其特征在于,包括:接收结构化查询语言
SQL
语句;执行所述
SQL
语句,所述
SQL
语句包括至少一个原始函数;在执行所述
SQL
语句的过程中,对所述原始函数进行函数重载操作,以得到所述原始函数对应的
SQL
函数;所述函数重载操作包括:确定所述原始函数的函数信息;在目标
SQL
函数库中,筛选出与所述函数信息匹配的
SQL
函数;根据所述原始函数对应的
SQL
函数确定目标
SQL
函数,并根据所述目标
SQL
函数更新所述原始函数;执行更新后的原始函数
。2.
根据权利要求1所述的执行方法,其特征在于,所述根据所述原始函数对应的
SQL
函数确定目标
SQL
函数,包括:基于所述
SQL
函数所属的
SQL
函数库的优先级,在所述原始函数对应的
SQL
函数数中选取所述目标
SQL
函数;所述
SQL
函数库包括:当前数据源函数库

标准函数库和其他数据源函数库,所述当前数据源函数库的优先级大于所述标准函数库的优先级,所述标准函数库的优先级大于所述其他数据源函数库的优先级;每个所述数据源对应一个所述
SQL
函数库;所述当前数据源函数库为所述
SQL
语句对应的数据源的
SQL
函数库
。3.
根据权利要求2所述的执行方法,其特征在于,在开启函数下推的情况下,所述目标
SQL
函数对应的
SQL
函数库为所述当前数据源函数库或所述标准函数库
。4.
根据权利要求1所述的执行方法,其特征在于,所述接收结构化查询语言
SQL
语句之前,所述执行方法还包括:响应于用户开启函数下推的操作,输出提示信息,所述提示信息用于提示在当前数据源函数库和标准函数库中,选取所述目标
SQL
函数库
。5.
根据权利要求1‑4任一项所述的执行方法,其特征在于,所述函数信息包括:函数名

函数语法

函数参数个数

函数参数类型和函数类别
。6.
根据权利要求5所述的执行方法,其特征在于,所述执行方法还包括:对所述
SQL
函数库中的每个所述
SQL
函数进行定义,使得每个所述
SQL
函数对应一个所述函数信息
。7.
一种结构化查询语言语句的执行装置,其特征在于...

【专利技术属性】
技术研发人员:胡哲
申请(专利权)人:杭州海康威视系统技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1