System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据库操作方法、编译器以及计算机可读存储介质技术_技高网

一种数据库操作方法、编译器以及计算机可读存储介质技术

技术编号:43289178 阅读:0 留言:0更新日期:2024-11-12 16:09
本申请公开了一种数据库操作方法、编译器以及计算机可读存储介质,涉及数据库技术领域,用于降低代码的冗余。该方法应用于编译器中,该方法包括:获取数据库的操作请求,该操作请求中包括:目标sql语句,该目标sql语句中存在对第一函数的调用;该第一函数是为实现业务的子功能预先编辑的子程序;获取在目标sql语句中调用第一函数时,该第一函数的执行结果;根据该目标sql语句和第一函数的执行结果,生成目标sql语法树;该目标sql语法树是目标sql语句的语法结构的图形表示,该目标sql语法树中的节点为sql语法节点,该目标sql语法树中包括上述第一函数的执行结果对应的sql语法节点;基于该目标sql语法树对目标数据库中的数据进行操作。

【技术实现步骤摘要】

本申请涉及数据库,尤其涉及一种数据库操作方法、编译器以及计算机可读存储介质


技术介绍

1、众所周知,结构化查询(structured query language,sql)语言是数据分析与数据库中数据处理的常用语言;基于该sql语言可以实现各种针对数据库的业务需求。

2、然而,随着互联网项目中针对数据库的业务需求的不断增加,开发人员需要针对每一个数据库的业务需求(简称:业务需求)编写实现该业务需要的sql语言的代码(简称:sql代码);其中,两个业务需求对应的两个sql代码中可能存在逻辑控制类似或者功能相同的子程序,从而造成该项目中代码的冗余。


技术实现思路

1、本申请实施例提供一种数据库操作方法、编译器以及计算机可读存储介质,用于降低代码的冗余。

2、一方面,提供一种数据库操作方法,该方法应用于编译器中,该方法包括:获取数据库的操作请求,该操作请求中包括:目标sql语句,该目标sql语句中存在对第一函数的调用;该第一函数是为实现业务的子功能预先编辑的子程序;获取在目标sql语句中调用第一函数时,该第一函数的执行结果;根据该目标sql语句和第一函数的执行结果,生成目标sql语法树;该目标sql语法树是目标sql语句的语法结构的图形表示,该目标sql语法树中的节点为sql语法节点,该目标sql语法树中包括上述第一函数的执行结果对应的sql语法节点;基于该目标sql语法树对目标数据库中的数据进行操作。

3、再一方面,提供一种编译器,包括:

<p>4、收发单元,用于获取数据库的操作请求,该操作请求中包括:目标sql语句,该目标sql语句中存在对第一函数的调用;该第一函数是为实现业务的子功能预先编辑的子程序。

5、收发单元,还用于获取在目标sql语句中调用第一函数时,该第一函数的执行结果。

6、处理单元,用于根据该目标sql语句和第一函数的执行结果,生成目标sql语法树;该目标sql语法树是目标sql语句的语法结构的图形表示,该目标sql语法树中的节点为sql语法节点,该目标sql语法树中包括上述第一函数的执行结果对应的sql语法节点。

7、处理单元,还用于基于该目标sql语法树对目标数据库中的数据进行操作。

8、又一方面,提供一种编译器,包括:存储器和处理器;存储器和处理器耦合;存储器用于存储计算机程序;处理器执行计算机程序时实现上述任一实施例所述的数据库操作方法。

9、又一方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一实施例所述的数据库操作方法。

10、又一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序指令,该计算机程序指令被处理器执行时实现上述任一实施例所述的数据库操作方法。

11、本申请实施例提供了一种数据库操作方法,该方法用于编译器中,该方法通过在目标sql语句中调用第一函数;然后,基于该目标sql语句和第一函数的执行结果,生成目标sql语法树,最后,基于该目标sql语法树对目标数据库中的数据进行操作。由此可见,上述方法通过在sql语句中调用函数,从而降低了代码的冗余。

本文档来自技高网
...

【技术保护点】

1.一种数据库操作方法,其特征在于,所述方法应用于编译器中,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述目标sql语句和所述执行结果,生成目标sql语法树,具体包括:

3.根据权利要求1或2所述的方法,其特征在于,在所述操作请求中还包括:所述第一函数所在的第一包的标识的情况下,所述获取在所述目标sql语句中调用所述第一函数时,所述第一函数的执行结果,包括:

4.根据权利要求1或2所述的方法,其特征在于,当所述目标sql语句中存在对第一sql子查询的调用,所述第一sql子查询是为了实现业务的子功能预先编辑的sql查询语句时,所述根据所述目标sql语句和所述执行结果,生成目标sql语法树,包括:

5.根据权利要求4所述的方法,其特征在于,所述根据所述目标sql语句、所述执行结果和第二sql语法树,生成所述目标sql语法树,包括:

6.根据权利要求5所述的方法,其特征在于,当所述操作请求中还包括:所述第一sql子查询所在的第二包的标识时,所述获取所述第二sql语法树,包括:

7.根据权利要求1或2所述的方法,其特征在于,所述获取在所述目标sql语句中调用所述第一函数时,所述第一函数的执行结果,包括:

8.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标sql语法树对目标数据库中的数据进行操作,包括:

9.根据权利要求3所述的方法,其特征在于,所述目标sql语句还存在对第一sql子查询的调用,所述第一sql子查询是为了实现业务的子功能预先编辑的sql查询语句,在所述获取数据库的操作请求之前,所述方法还包括:

10.根据权利要求9所述的方法,其特征在于,当所述第一函数中包括sql语句时,所述方法还包括:

11.一种编译器,其特征在于,包括:处理器和存储器;

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,当所述计算机指令在编译器上运行时,使得所述编译器执行如权利要求1至10中任一项所述的方法。

...

【技术特征摘要】

1.一种数据库操作方法,其特征在于,所述方法应用于编译器中,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述目标sql语句和所述执行结果,生成目标sql语法树,具体包括:

3.根据权利要求1或2所述的方法,其特征在于,在所述操作请求中还包括:所述第一函数所在的第一包的标识的情况下,所述获取在所述目标sql语句中调用所述第一函数时,所述第一函数的执行结果,包括:

4.根据权利要求1或2所述的方法,其特征在于,当所述目标sql语句中存在对第一sql子查询的调用,所述第一sql子查询是为了实现业务的子功能预先编辑的sql查询语句时,所述根据所述目标sql语句和所述执行结果,生成目标sql语法树,包括:

5.根据权利要求4所述的方法,其特征在于,所述根据所述目标sql语句、所述执行结果和第二sql语法树,生成所述目标sql语法树,包括:

6.根据权利要求5所述的方法,其特征在于,当所述操作请求中还包括:所述第一sql子查询...

【专利技术属性】
技术研发人员:韩桂鲁陈艳山
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

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

1