CN112487019B - 用于OpenGauss数据库的解析动态SQL的方法及系统 - Google Patents
用于OpenGauss数据库的解析动态SQL的方法及系统 Download PDFInfo
- Publication number
- CN112487019B CN112487019B CN202011468423.8A CN202011468423A CN112487019B CN 112487019 B CN112487019 B CN 112487019B CN 202011468423 A CN202011468423 A CN 202011468423A CN 112487019 B CN112487019 B CN 112487019B
- Authority
- CN
- China
- Prior art keywords
- statement
- opengauss
- database
- field
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000010276 construction Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种用于OpenGauss数据库的解析动态SQL的方法及系统,该用于OpenGauss数据库的解析动态SQL的方法包括:声明一个全局性数据结构用于存储游标的数据,初始化所述全局性数据结构中的变量;将待执行的SQL语句保存到所述全局性数据结构的querybuf字段,根据所述SQL语句构建可执行语句;调用OpenGauss数据库中的软件开发接口执行所述可执行语句。本发明能实现在OpenGauss数据库中解析动态SQL,在执行效率上要优于本地动态SQL语句,并且能够保证动态SQL的灵活度。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种用于OpenGauss数据库的解析动态SQL的方法及系统。
背景技术
动态SQL的执行是大部分数据库系统中都支持的特性。基本的形式是在SQL语句中使用占位符取代变量,到实际执行时再将变量赋给占位符,从而执行最终的SQL语句,并返回最后的结果集。一般来讲需要使用动态SQL的部分都是在编写程序时无法确定最终参数的取值,需要在运行时临时指定参数值。与静态SQL相比,动态SQL在执行效率上一般不及静态SQL,但是灵活度上要优于静态SQL。
Oracle中存在一个解析动态SQL的框架DBMS_SQL,该框架弥补了本地动态SQL只能实现固定数量的输入输出变量,且每执行一次都打开和关闭游标一次的缺点,可以实现不定数量的输入和不定数量的输出,一次打开游标可多次使用,在执行效率上要优于本地动态SQL。
目前在OpenGauss数据库中没有解析动态SQL的功能,如何在数据库实现一个兼容DBMS_SQL的动态SQL解析框架,以实现Oracle中DBMS_SQL包中的大部分操作,实现不定数量的输入和不定数量的输出,成为亟待解决的技术问题。
发明内容
有鉴于此,本发明提供一种用于OpenGauss数据库的解析动态SQL的方法及系统,以实现在OpenGauss数据库中解析动态SQL。
一方面,本发明提供一种用于OpenGauss数据库的解析动态SQL的方法,包括:声明一个全局性数据结构用于存储游标的数据,初始化所述全局性数据结构中的变量;
将待执行的SQL语句保存到所述全局性数据结构的querybuf字段,根据所述SQL语句构建可执行语句;
调用OpenGauss数据库中的软件开发接口执行所述可执行语句。
进一步地,所述根据所述SQL语句构建prepare语句的步骤包括:
根据querybuf保存的语句,构建prepare语句;
调用OpenGauss数据库中的软件开发接口对所述prepare语句进行语法分析;
根据语法分析结果判断是否需要绑定变量;
若确定需要绑定变量,则将prepare语句的参数绑定变量,得到可执行语句,并基于所述可执行语句更新所述全局性数据结构的querybuf字段;
若确定不需要绑定变量,则将prepare语句作为可执行语句。
进一步地,在所述根据所述SQL语句构建可执行语句的步骤之后包括:
判断是否需要反馈可执行语句的执行结果;
在确定需要反馈执行结果时,定义用于接收可执行语句的执行结果的结果列;
在所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句的步骤之后包括:
将所述全局性数据结构中tup_list存储的可执行语句的执行结果取出,并将执行结果保存至所述结果列,之后关闭游标。
进一步地,在判断是否需要反馈可执行语句的执行结果的步骤之后包括:
在确定不需要反馈执行结果时,直接执行所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句,之后关闭游标。
进一步地,所述全局性数据结构包括:用于表示游标的编号的Id字段、用于表示结果集的总行数的All_rows字段、用于表示取出结果行数的Fetched_rows字段、用于表示结果列的位置索引的Colno字段、用于表示结果集缓存的Tup_list字段、用于表示结果集描述符的Tupdesc字段、用于表示下一个游标的指针的Next字段、以及用于表示执行SQL原文的Querybuf字段。
另一方面,本发明还提供一种用于OpenGauss数据库的解析动态SQL的系统,包括:
数据结构声明单元,用于声明一个全局性数据结构用于存储游标的数据,初始化所述全局性数据结构中的变量;
语句构建单元,用于将待执行的SQL语句保存到所述全局性数据结构的querybuf字段,根据所述SQL语句构建可执行语句;
语句执行单元,用于调用OpenGauss数据库中的软件开发接口执行所述可执行语句。
进一步地,所述语句构建单元包括:
构建子单元,用于根据querybuf保存的语句,构建prepare语句;
分析子单元,用于调用OpenGauss数据库中的软件开发接口对所述prepare语句进行语法分析;
判断子单元,用于根据语法分析结果判断是否需要绑定变量;若确定需要绑定变量,则将prepare语句的参数绑定变量,得到可执行语句,并基于所述可执行语句更新所述全局性数据结构的querybuf字段;若确定不需要绑定变量,则将prepare语句作为可执行语句。
进一步地,所述语句执行单元具体用于:判断是否需要反馈可执行语句的执行结果;在确定需要反馈执行结果时,定义用于接收可执行语句的执行结果的结果列;在所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句的步骤之后包括:将所述全局性数据结构中tup_list存储的可执行语句的执行结果取出,并将执行结果保存至所述结果列,之后关闭游标。
进一步地,所述语句执行单元还用于:在确定不需要反馈执行结果时,直接执行所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句,之后关闭游标。
进一步地,所述全局性数据结构包括:用于表示游标的编号的Id字段、用于表示结果集的总行数的All_rows字段、用于表示取出结果行数的Fetched_rows字段、用于表示结果列的位置索引的Colno字段、用于表示结果集缓存的Tup_list字段、用于表示结果集描述符的Tupdesc字段、用于表示下一个游标的指针的Next字段、以及用于表示执行SQL原文的Querybuf字段。
本发明用于OpenGauss数据库的解析动态SQL的方法及系统,能在OpenGauss数据库中解析动态SQL,在执行效率上要明显优于本地动态SQL的执行过程,并且能够保证动态SQL的灵活度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为根据本发明示例性第一实施例的用于OpenGauss数据库的解析动态SQL的方法的流程图。
图2为根据本发明示例性第二实施例的用于OpenGauss数据库的解析动态SQL的方法的流程图。
图3为根据本发明示例性第三实施例的用于OpenGauss数据库的解析动态SQL的系统的结构框图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
图1为根据本发明示例性第一实施例的用于OpenGauss数据库的解析动态SQL的方法的流程图,如图1所示,本发明一种用于OpenGauss数据库的解析动态SQL的方法,包括:
步骤101:声明一个全局性数据结构用于存储游标的数据,初始化所述全局性数据结构中的变量;
步骤102:将待执行的SQL语句保存到所述全局性数据结构的querybuf字段,根据所述SQL语句构建可执行语句;
步骤103:调用OpenGauss数据库中的软件开发接口(software programminginterface,后文简称SPI)执行所述可执行语句。通过使用OpenGauss平台中提供的软件开发接口(software programming interface,后文简称SPI)来实现相关的功能,采用非侵入式的开发方法。使用该方法的好处在于可以避免对数据库的内核进行修改,一方面防止对数据库的其他特性产生影响,另一方面也可以防止对数据库的稳定性造成影响。
本实施例用于OpenGauss数据库的解析动态SQL的方法,能在OpenGauss数据库中解析动态SQL,在执行效率上要明显优于本地动态SQL的执行过程,并且能够保证动态SQL的灵活度。尤其是对于需要传入多次不同参数的应用场景,其效率的提升更加明显。同时,该解析动态SQL的方法可以完全兼容Oracle中的DBMS_SQL包的功能,为Oracle应用程序迁移到OpenGauss平台提供了重要的功能支持。
图2为根据本发明示例性第二实施例的用于OpenGauss数据库的解析动态SQL的方法的流程图,图2为图1所示实施例的优选实施方式。本实施例用于OpenGauss数据库的解析动态SQL的方法兼容Oracle的DBMS_SQL动态SQL包,所以其执行过程与函数功能也参照Oracle的DBMS_SQL包的流程进行组织。具体如图2所示,本发明一种用于OpenGauss数据库的解析动态SQL的方法,包括:
1、通过函数Open_cursor打开游标,具体为:声明一个全局性数据结构用于存储游标的相关数据,在该函数中初始化成员变量,并分配游标的索引,然后返回该索引。
具体地,本实施例动态SQL解析框架与本地动态SQL语句相比执行效率上要更加高效,通过自定义游标结构,而不是复用OpenGauss平台中原有的游标结构,以便执行过程更加灵活和高效。游标数据结构定义如下:
其中:Id表示游标的编号
All_rows表示结果集的总行数
Fetched_rows表示fetch的结果行数
Colno表示结果列的位置索引
Tup_list表示结果集缓存
Tupdesc表示结果集描述符
Next表示下一个游标的指针
Querybuf表示执行的SQL原文。
2、通过Parse函数进行语法分析:将执行的SQL语句保存到querybuf字段,以querybuf保存的语句为素材,构建prepare语句,并使用SPI的接口进行该prepare语句的语法分析。
3、根据语法分析结果判断是否需要绑定变量?此步骤是指在要执行的SQL语句中,是否需要绑定变量,因为是动态SQL,所以可能SQL语句中会需要传参数,可以把变量理解为SQL语句中的参数。
4、在确定需要绑定变量时,通过bind_variable函数绑定变量,具体包括将绑定的变量与prepare中的参数相对应,整理成格式化的可执行语句,并替换querybuf语句。
5、判断可执行语句是否需要返回结果?
6、在确定不需要返回结果时,通过execute函数执行querybuf保存的可执行语句,将结果集保存到tup_list中,之后执行步骤11。
7、在确定需要返回结果时,通过define_column函数定义结果列。因为游标中的结果是不可见的,需要把游标中的结果保存在外部的一个变量里,才可以在后续步骤使用,定义结果列就是定义一个接收游标中结果的变量。
8、通过execute函数执行querybuf保存的可执行语句,将结果集保存到tup_list中。
9、通过fetch_rows取出结果,具体包括:返回tup_list中的一行结果,并修改fetched_rows字段,用于记录当前结果在结果集中的相对位置(或者说一共fetch的行数)。
10、通过column_value以及variable_value保存结果,具体地通过variable_value返回结果集字段tup_list,通过column_value函数将fetch的结果按列拆分,将结果返回给对应的参数。
11、通过close_cursor关闭游标,具体包括:清理cursor中的内存,并删除对应的cursor
本实施例通过对以上关键数据结构的定义和使用SPI接口实现上述函数功能,即可构建出兼容Oracle中DBMS_SQL包的动态SQL解析框架。该框架使用SPI的接口仅执行一次SQL语句,而后将结果集保存到缓存中,后续的操作均通过操作缓存中的数据来模拟游标的相关操作,在执行效率上要明显优于需要多次开关游标操作的本地动态SQL的执行过程。
图3为根据本发明示例性第三实施例的用于OpenGauss数据库的解析动态SQL的系统的结构框图。如图3所示,用于OpenGauss数据库的解析动态SQL的系统包括:
数据结构声明单元301,用于声明一个全局性数据结构用于存储游标的数据,初始化所述全局性数据结构中的变量;
语句构建单元302,用于将待执行的SQL语句保存到所述全局性数据结构的querybuf字段,根据所述SQL语句构建可执行语句;
语句执行单元303,用于调用OpenGauss数据库中的软件开发接口执行所述可执行语句。
优选地,所述语句构建单元302包括:
构建子单元(图中未示出),用于根据querybuf保存的语句,构建prepare语句;
分析子单元(图中未示出),用于调用OpenGauss数据库中的软件开发接口对所述prepare语句进行语法分析;
判断子单元(图中未示出),用于根据语法分析结果判断是否需要绑定变量;若确定需要绑定变量,则将prepare语句的参数绑定变量,得到可执行语句,并基于所述可执行语句更新所述全局性数据结构的querybuf字段;若确定不需要绑定变量,则将prepare语句作为可执行语句。
优选地,所述语句执行单元303具体用于:判断是否需要反馈可执行语句的执行结果;在确定需要反馈执行结果时,定义用于接收可执行语句的执行结果的结果列;在所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句的步骤之后包括:将所述全局性数据结构中tup_list存储的可执行语句的执行结果取出,并将执行结果保存至所述结果列,之后关闭游标。
进一步优选地,所述语句执行单元303还用于:在确定不需要反馈执行结果时,直接执行所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句,之后关闭游标。
具体操作时,所述全局性数据结构包括:用于表示游标的编号的Id字段、用于表示结果集的总行数的All_rows字段、用于表示取出结果行数的Fetched_rows字段、用于表示结果列的位置索引的Colno字段、用于表示结果集缓存的Tup_list字段、用于表示结果集描述符的Tupdesc字段、用于表示下一个游标的指针的Next字段、以及用于表示执行SQL原文的Querybuf字段。
本实施例在OpenGauss平台下的动态SQL解析框架,通过该框架的实现能够在保证动态SQL灵活度的基础上,实现动态SQL执行效率上的提升,并且能够兼容Oracle平台下的DBMS_SQL包的特性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种用于OpenGauss数据库的解析动态SQL的方法,其特征在于,包括:
声明一个全局性数据结构用于存储游标的数据,初始化所述全局性数据结构中的变量;
将待执行的SQL语句保存到所述全局性数据结构的querybuf字段,根据所述SQL语句构建可执行语句;
调用OpenGauss数据库中的软件开发接口执行所述可执行语句;
其中,根据所述SQL语句构建可执行语句的步骤包括:
根据querybuf保存的语句,构建prepare语句;
调用OpenGauss数据库中的软件开发接口对所述prepare语句进行语法分析;
根据语法分析结果判断是否需要绑定变量;若确定需要绑定变量,则将prepare语句的参数绑定变量,得到可执行语句,并基于所述可执行语句更新所述全局性数据结构的querybuf字段;若确定不需要绑定变量,则将prepare语句作为可执行语句;
在所述根据所述SQL语句构建可执行语句的步骤之后包括:
判断是否需要反馈可执行语句的执行结果;在确定需要反馈执行结果时,定义用于接收可执行语句的执行结果的结果列;
在所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句的步骤之后包括:
将所述全局性数据结构中tup_list存储的可执行语句的执行结果取出,并将执行结果保存至所述结果列,之后关闭游标。
2.根据权利要求1所述的用于OpenGauss数据库的解析动态SQL的方法,其特征在于,在判断是否需要反馈可执行语句的执行结果的步骤之后包括:
在确定不需要反馈执行结果时,直接执行所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句,之后关闭游标。
3.根据权利要求1-2中任一项所述的用于OpenGauss数据库的解析动态SQL的方法,其特征在于,所述全局性数据结构包括:用于表示游标的编号的Id字段、用于表示结果集的总行数的All_rows字段、用于表示取出结果行数的Fetched_rows字段、用于表示结果列的位置索引的Colno字段、用于表示结果集缓存的Tup_list字段、用于表示结果集描述符的Tupdesc字段、用于表示下一个游标的指针的Next字段、以及用于表示执行SQL原文的Querybuf字段。
4.一种用于OpenGauss数据库的解析动态SQL的系统,其特征在于,包括:
数据结构声明单元,用于声明一个全局性数据结构用于存储游标的数据,初始化所述全局性数据结构中的变量;
语句构建单元,用于将待执行的SQL语句保存到所述全局性数据结构的querybuf字段,根据所述SQL语句构建可执行语句;
语句执行单元,用于调用OpenGauss数据库中的软件开发接口执行所述可执行语句;
所述语句构建单元包括:
构建子单元,用于根据querybuf保存的语句,构建prepare语句;
分析子单元,用于调用OpenGauss数据库中的软件开发接口对所述prepare语句进行语法分析 ;
判断子单元,用于根据语法分析结果判断是否需要绑定变量;若确定需要绑定变量,则将prepare语句的参数绑定变量,得到可执行语句,并基于所述可执行语句更新所述全局性数据结构的querybuf字段;若确定不需要绑定变量,则将prepare语句作为可执行语句;
所述语句执行单元具体用于:判断是否需要反馈可执行语句的执行结果;在确定需要反馈执行结果时,定义用于接收可执行语句的执行结果的结果列;在所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句的步骤之后包括:将所述全局性数据结构中tup_list存储的可执行语句的执行结果取出,并将执行结果保存至所述结果列,之后关闭游标。
5.根据权利要求4所述的用于OpenGauss数据库的解析动态SQL的系统,其特征在于,所述语句执行单元还用于:在确定不需要反馈执行结果时,直接执行所述调用OpenGauss数据库中的软件开发接口执行所述可执行语句,之后关闭游标。
6.根据权利要求4-5中任一项所述的用于OpenGauss数据库的解析动态SQL的系统,其特征在于,所述全局性数据结构包括:用于表示游标的编号的Id字段、用于表示结果集的总行数的All_rows字段、用于表示取出结果行数的Fetched_rows字段、用于表示结果列的位置索引的Colno字段、用于表示结果集缓存的Tup_list字段、用于表示结果集描述符的Tupdesc字段、用于表示下一个游标的指针的Next字段、以及用于表示执行SQL原文的Querybuf字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468423.8A CN112487019B (zh) | 2020-12-14 | 2020-12-14 | 用于OpenGauss数据库的解析动态SQL的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011468423.8A CN112487019B (zh) | 2020-12-14 | 2020-12-14 | 用于OpenGauss数据库的解析动态SQL的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112487019A CN112487019A (zh) | 2021-03-12 |
CN112487019B true CN112487019B (zh) | 2024-02-20 |
Family
ID=74916798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011468423.8A Active CN112487019B (zh) | 2020-12-14 | 2020-12-14 | 用于OpenGauss数据库的解析动态SQL的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112487019B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117688025A (zh) * | 2023-12-12 | 2024-03-12 | 金扁担(北京)数字科技有限公司 | 基于jdbc协议的sql动态组装方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990086397A (ko) * | 1998-05-22 | 1999-12-15 | 박영철 | 동적 sql문을 위한 최적의 항목설명자를 가진 sql 설명자의 할당과 칼럼정보의 획득을 하나의 sql문으로 수행하기 위한 방법 |
KR20020045328A (ko) * | 2000-12-08 | 2002-06-19 | 조양호 | 메타데이터 교환표준을 이용한 분산 이종 데이터베이스검색방법 |
CA2489236A1 (en) * | 2002-06-12 | 2003-12-24 | Jena Jordahl | Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view |
CN104504001A (zh) * | 2014-12-04 | 2015-04-08 | 西北工业大学 | 面向海量分布式关系数据库的游标构造方法 |
CN106202403A (zh) * | 2016-07-11 | 2016-12-07 | 浪潮通用软件有限公司 | 一种通过动态分析创建数据库索引的方法 |
CN111143330A (zh) * | 2019-12-27 | 2020-05-12 | 湖南亚信软件有限公司 | 一种多模态数据库解析引擎的实现方法及装置 |
-
2020
- 2020-12-14 CN CN202011468423.8A patent/CN112487019B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990086397A (ko) * | 1998-05-22 | 1999-12-15 | 박영철 | 동적 sql문을 위한 최적의 항목설명자를 가진 sql 설명자의 할당과 칼럼정보의 획득을 하나의 sql문으로 수행하기 위한 방법 |
KR20020045328A (ko) * | 2000-12-08 | 2002-06-19 | 조양호 | 메타데이터 교환표준을 이용한 분산 이종 데이터베이스검색방법 |
CA2489236A1 (en) * | 2002-06-12 | 2003-12-24 | Jena Jordahl | Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view |
CN104504001A (zh) * | 2014-12-04 | 2015-04-08 | 西北工业大学 | 面向海量分布式关系数据库的游标构造方法 |
CN106202403A (zh) * | 2016-07-11 | 2016-12-07 | 浪潮通用软件有限公司 | 一种通过动态分析创建数据库索引的方法 |
CN111143330A (zh) * | 2019-12-27 | 2020-05-12 | 湖南亚信软件有限公司 | 一种多模态数据库解析引擎的实现方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于Web的燃气读表数据聚合分析系统的设计与实现;秦雨;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112487019A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7360328B2 (ja) | 異種にプログラムされたデータ処理システムの自動依存性アナライザ | |
US10162610B2 (en) | Method and apparatus for migration of application source code | |
US8789017B2 (en) | System and method for using stream objects to perform stream processing in a text-based computing environment | |
US8185878B2 (en) | Program maintenance support device, program maintenance supporting method, and program for the same | |
US7934205B2 (en) | Restructuring computer programs | |
Sneed | Migrating from COBOL to Java | |
US20010047402A1 (en) | Method for developing web applications, development support system, and storage medium for storing programs developed according to the method | |
CN107851001B (zh) | 用于基于设计规格显示软件型应用程序的计算机应用的方法 | |
CN109710220B (zh) | 关系型数据库查询方法、装置、设备及存储介质 | |
CN110673854A (zh) | Sas语言编译方法、装置、设备及可读存储介质 | |
CN112487019B (zh) | 用于OpenGauss数据库的解析动态SQL的方法及系统 | |
WO2013184952A1 (en) | Method for automatic extraction of designs from standard source code | |
CN117289929B (zh) | 一种插件框架、插件及数据处理方法、装置及电子设备 | |
CN111259042A (zh) | 一种动态查询方法及系统 | |
US20060198501A1 (en) | Method and device for constructing a voice dialog | |
JP4673040B2 (ja) | 仕様書データ生成方法及び装置 | |
CN107577476A (zh) | 一种基于模块划分的安卓系统源码差异性分析方法、服务器及介质 | |
CN113608748A (zh) | C语言转换Java语言的数据处理方法、装置及设备 | |
CN109299004B (zh) | 关键元素差异性分析方法及系统 | |
Nogueira et al. | Automatic generation of test cases and test purposes from natural language | |
CN116756184B (zh) | 数据库实例处理方法、装置、设备、存储介质及程序产品 | |
JP2003108369A (ja) | Webからの要求を受け取り結果出力を行うプログラムの自動生成 | |
CN116955385A (zh) | Ai实时预测方法及装置 | |
CN115686520A (zh) | 存储代码转换方法、装置、计算机设备及存储介质 | |
CN115268907A (zh) | 一种使用json数据生成软件系统控件交互逻辑的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |