CN116225954A - 一种sql语句快速调试方法、装置、设备及存储介质 - Google Patents

一种sql语句快速调试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116225954A
CN116225954A CN202310280041.XA CN202310280041A CN116225954A CN 116225954 A CN116225954 A CN 116225954A CN 202310280041 A CN202310280041 A CN 202310280041A CN 116225954 A CN116225954 A CN 116225954A
Authority
CN
China
Prior art keywords
sql
verification
sql sentence
sentence
data
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.)
Pending
Application number
CN202310280041.XA
Other languages
English (en)
Inventor
陈晓辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Zhongtongji Network Technology Co Ltd
Original Assignee
Shanghai Zhongtongji Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Zhongtongji Network Technology Co Ltd filed Critical Shanghai Zhongtongji Network Technology Co Ltd
Priority to CN202310280041.XA priority Critical patent/CN116225954A/zh
Publication of CN116225954A publication Critical patent/CN116225954A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及软件测试技术领域,具体涉及一种SQL语句快速调试方法、装置、设备及存储介质,该方法包括:从数据库管理系统中获取数据定义语言;获取待调试的SQL语句,若SQL语句设置了变量映射,自动进行字段与数据的映射,将对应数据替换成变量;判断SQL语句是否为Insert语句,若是,则按照预存的Java脚本规范对SQL语句进行全部格式规范校验,若否,则对SQL语句进行格式规范校验中的标记符校验;输出校验结果,校验结果包括全部不规范或错误的位置信息。可以理解的是,本发明示出的技术方案,能够自动进行变量映射以及格式规范校验,辅助用户调试SQL语句,操作简单,提高工作效率。

Description

一种SQL语句快速调试方法、装置、设备及存储介质
技术领域
本发明涉及软件测试技术领域,具体涉及一种SQL语句快速调试方法、装置、设备及存储介质。
背景技术
目前的软件测试人员通常是手工编写及调试SQL语句,在手动进行SQL语句测试的工作中,常常存在如下问题:耗费大量时间、报错信息不精准以及效率较低。
耗费大量时间常体现在自动化脚本对数据库增删改查,特别当Insert数据时通常会含有变量字段,如ID、日期、金额等,同时要求编写SQL时必须使变量与栏位字段一一对应,而在库表字段极多时,工作将很难进行。报错信息不精准体现在调试SQL时,经常会遇到提示缺少逗号、引号以及字段类型错误等情况,问题在于提示信息并不精确也不易理解,用户需要花费较多的时间去阅读理解那一长串报错信息,对于英文水平较差的用户来说相当不友好。效率低体现在虽然给出了报错信息,但报错信息不是一次性给出的(指SQL语句中存在多个不规范或错误时),这样就会出现在用户改完后再次执行时,会发现又出现了一个新的报错,周而复始,使得效率低下。
因此,目前对SQL语句的测试调试方式,操作不便、效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种SQL语句快速调试方法、装置、设备及存储介质,以解决现有技术中对SQL语句的测试调试方式,操作不便、效率较低的问题。
根据本发明实施例的第一方面,提供一种SQL语句快速调试方法,包括:
从数据库管理系统中获取数据定义语言;
获取待调试的SQL语句,若所述SQL语句设置了变量映射,自动进行字段与数据的映射,将对应数据替换成变量;
判断所述SQL语句是否为Insert语句,若是,则按照预存的Java脚本规范对所述SQL语句进行全部格式规范校验,若否,则对所述SQL语句进行所述格式规范校验中的标记符校验;
输出校验结果,所述校验结果包括全部不规范或错误的位置信息。
优选的,在所述输出校验结果之后,还包括:
若所述校验结果为无错误,则以IDEA+Java执行所述SQL语句,以实现数据库的增删改查。
优选的,所述从数据库管理系统中获取数据定义语言之后,还包括:
将所述数据定义语言上传备份。
根据本发明实施例的第二方面,提供一种SQL语句快速调试装置,包括:
DDL获取模块,用于从数据库管理系统中获取数据定义语言;
SQL语句获取模块,用于获取待调试的SQL语句,若所述SQL语句设置了变量映射,自动进行字段与数据的映射,将对应数据替换成变量;
校验模块,用于判断所述SQL语句是否为Insert语句,若是,则按照预存的Java脚本规范对所述SQL语句进行全部格式规范校验,若否,则对所述SQL语句进行所述格式规范校验中的标记符校验;
输出模块,用于输出校验结果,所述校验结果包括全部不规范或错误的位置信息。
优选的,所述的装置,还包括:
执行模块,用于若所述校验结果为无错误,则以IDEA+Java执行所述SQL语句,以实现数据库的增删改查。
优选的,所述的装置,还包括:
上传导入模块,用于将所述数据定义语言上传备份。
优选的,所述校验结果还包括所述全部不规范或错误的修改提示。
根据本发明实施例的第三方面,提供一种SQL语句快速调试设备,包括:
主控器,及与所述主控器相连的存储器;
所述存储器,其中存储有程序指令;
所述主控器用于执行存储器中存储的程序指令,执行上述任一项所述的方法。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的方法。
本发明的实施例提供的技术方案可以包括以下有益效果:
可以理解的是,本发明示出的技术方案,能够从数据库管理系统中获取数据定义语言;获取待调试的SQL语句,若SQL语句设置了变量映射,自动进行字段与数据的映射,将对应数据替换成变量;判断SQL语句是否为Insert语句,若是,则按照预存的Java脚本规范对SQL语句进行全部格式规范校验,若否,则对SQL语句进行格式规范校验中的标记符校验;输出校验结果,校验结果包括全部不规范或错误的位置信息。可以理解的是,本发明示出的技术方案,能够自动进行变量映射以及格式规范校验,辅助用户调试SQL语句,操作简单,提高工作效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种SQL语句快速调试方法的步骤示意图;
图2是根据一示例性实施例示出的一种SQL语句快速调试工具的应用示意图;
图3是根据一示例性实施例示出的一种SQL语句快速调试工具的显示界面示意图;
图4是根据一示例性实施例示出的一种SQL语句快速调试工具的运行流程图;
图5是是根据一示例性实施例示出的一种SQL语句快速调试装置的示意框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
实施例一
图1是根据一示例性实施例示出的一种SQL语句快速调试方法的步骤示意图,参见图1,提供一种SQL语句快速调试方法,包括:
步骤S11、从数据库管理系统中获取数据定义语言;
需要说明的是,所述从数据库管理系统中获取数据定义语言之后,还包括:
将所述数据定义语言上传备份。
在具体实践中,通过DBMS(数据库管理系统)导出DDL(数据定义语言),由sqlTool的导入功能将DDL信息上传备份,此时sqlTool获取了库表字段的类型、长度、默认值等信息。
步骤S12、获取待调试的SQL语句,若所述SQL语句设置了变量映射,自动进行字段与数据的映射,将对应数据替换成变量;
在实际应用中,工作人员可以打开sqlTool工具(能够执行本方法的工具),粘贴对应的SQL语句,以使sqlTool工具获取待调试的SQL语句,进而根据是否设置了变量映射来判定执行两种路径,如果设置了变量则后台会自动进行字段与数据的映射,并将对应数据替换成变量,反之则直接进入下一步。
步骤S13、判断所述SQL语句是否为Insert语句,若是,则按照预存的Java脚本规范对所述SQL语句进行全部格式规范校验,若否,则对所述SQL语句进行所述格式规范校验中的标记符校验;
判断SQL类型,如果是Insert语句,则按照Java脚本规范对SQL进行标记符、类型、长度、默认值等进行一一校验;如果是其他类型语句,则只进行标记符校验。
步骤S14、输出校验结果,所述校验结果包括全部不规范或错误的位置信息。
优选的,还可以对所述不规范或错误的位置给予加亮提示。
需要说明的是,数据库管理系统可以对应MySQL或者Oracle,MySQL是一种关系型数据库管理系统,其体积小、速度快、总体成本低,另外其开放源码的特点使一般中小型和大型网站都选择MySQL作为网站数据库。而Oracle是一款关系型数据库管理软件,该数据库具有可移植性好、使用方便、性能强大等特点,许多大型网站选用了Oracle系统,是世界最好的数据库产品。
可以理解的是,本实施例示出的技术方案,能够从数据库管理系统中获取数据定义语言;获取待调试的SQL语句,若SQL语句设置了变量映射,自动进行字段与数据的映射,将对应数据替换成变量;判断SQL语句是否为Insert语句,若是,则按照预存的Java脚本规范对SQL语句进行全部格式规范校验,若否,则对SQL语句进行格式规范校验中的标记符校验;输出校验结果,校验结果包括全部不规范或错误的位置信息。可以理解的是,本实施例示出的技术方案,能够自动进行变量映射以及格式规范校验,辅助用户调试SQL语句,操作简单,提高工作效率。
在具体实践中,本实施例示出的技术方案可以通过工具的方式实现,例如将上述方法集成于sqlTool中,以实现上述功能,图2是根据一示例性实施例示出的一种SQL语句快速调试工具的应用示意图,所述sqlTool即为示出的SQL语句快速调试工具。
在实际应用中,工作人员(Actor)可以通过数据库管理系统(DBMS)录入数据定义语言(DLL),sqlTool从所述数据库管理系统中获取数据定义语言,之后,用户将待调试的SQL语句粘贴至sqlTool中,sqlTool对所述SQL语句执行功能操作,并生成校验结果,工作人员根据所述校验结果调试修改所述SQL语言,在修改完成后,再将修改后的SQL语言通过IDEA+Java执行所述SQL语句,以实现数据库的增删改查。
图3是根据一示例性实施例示出的一种SQL语句快速调试工具的显示界面示意图,工作人员在使用包含有上述方法的sqlTool时,可以通过导入按钮实现DLL信息的导入,进而选择SQL的类型以及粘贴SQL语句,在点击校验按钮后,sqlTool自动执行校验,并生成校验结果。
图4是根据一示例性实施例示出的一种SQL语句快速调试工具的运行流程图,参见图4,在工作人员进入sqlTool之后,sqlTool可以获取SQL的类型,获取可以进行语句分析或者工作人员手动选择,之后自动判断设置了变量映射,若设置了变量映射,则将字段对应value替换成对应变量,之后进行判断是否为Insert语句,若是,则执行全部格式规范校验:校验变量、标记符位置等信息,如果出现错误则加亮展示,优选的,所述校验结果还包括所述全部不规范或错误的修改提示;若果不为Insert语句,则仅执行标记符校验。最终输出所述校验结果。
需要说明的是,该方法还能够在所述输出校验结果之后,还包括:
若所述校验结果为无错误,则以IDEA+Java执行所述SQL语句,以实现数据库的增删改查。
在具体实践中,当在对工作人员输入的SQL语句进行校验之后,若校验结果无问题,则能够直接进行执行,以增加工作效率。所述IDEA是用于Java语言开发的集成环境(也可用于其他语言)。
实施例二
图5是是根据一示例性实施例示出的一种SQL语句快速调试装置的示意框图,参见图5,提供一种SQL语句快速调试装置,包括:
DDL获取模块101,用于从数据库管理系统中获取数据定义语言;
SQL语句获取模块102,用于获取待调试的SQL语句,若所述SQL语句设置了变量映射,自动进行字段与数据的映射,将对应数据替换成变量;
校验模块103,用于判断所述SQL语句是否为Insert语句,若是,则按照预存的Java脚本规范对所述SQL语句进行全部格式规范校验,若否,则对所述SQL语句进行所述格式规范校验中的标记符校验;
输出模块104,用于输出校验结果,所述校验结果包括全部不规范或错误的位置信息。
可以理解的是,本实施例示出的技术方案,能够通过DDL获取模块101从数据库管理系统中获取数据定义语言;通过SQL语句获取模块102获取待调试的SQL语句,若SQL语句设置了变量映射,自动进行字段与数据的映射,将对应数据替换成变量;通过校验模块103判断SQL语句是否为Insert语句,若是,则按照预存的Java脚本规范对SQL语句进行全部格式规范校验,若否,则对SQL语句进行格式规范校验中的标记符校验;通过输出模块104输出校验结果,校验结果包括全部不规范或错误的位置信息。可以理解的是,本实施例示出的技术方案,能够自动进行变量映射以及格式规范校验,辅助用户调试SQL语句,操作简单,提高工作效率。
需要说明的是,所述的装置,还包括:
执行模块,用于若所述校验结果为无错误,则以IDEA+Java执行所述SQL语句,以实现数据库的增删改查。
需要说明的是,所述的装置,还包括:
上传导入模块,用于将所述数据定义语言上传备份。
实施例三
根据本发明实施例的第三方面,提供一种SQL语句快速调试设备,包括:
主控器,及与所述主控器相连的存储器;
所述存储器,其中存储有程序指令;
所述主控器用于执行存储器中存储的程序指令,执行上述任一项所述的方法。
实施例四
根据本发明实施例的第四方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的方法。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (9)

1.一种SQL语句快速调试方法,其特征在于,包括:
从数据库管理系统中获取数据定义语言;
获取待调试的SQL语句,若所述SQL语句设置了变量映射,自动进行字段与数据的映射,将对应数据替换成变量;
判断所述SQL语句是否为Insert语句,若是,则按照预存的Java脚本规范对所述SQL语句进行全部格式规范校验,若否,则对所述SQL语句进行所述格式规范校验中的标记符校验;
输出校验结果,所述校验结果包括全部不规范或错误的位置信息。
2.根据权利要求1所述的方法,其特征在于,在所述输出校验结果之后,还包括:
若所述校验结果为无错误,则以IDEA+Java执行所述SQL语句,以实现数据库的增删改查。
3.根据权利要求1所述的方法,其特征在于,所述从数据库管理系统中获取数据定义语言之后,还包括:
将所述数据定义语言上传备份。
4.根据权利要求1所述的方法,其特征在于,
所述校验结果还包括所述全部不规范或错误的修改提示。
5.一种SQL语句快速调试装置,其特征在于,包括:
DDL获取模块,用于从数据库管理系统中获取数据定义语言;
SQL语句获取模块,用于获取待调试的SQL语句,若所述SQL语句设置了变量映射,自动进行字段与数据的映射,将对应数据替换成变量;
校验模块,用于判断所述SQL语句是否为Insert语句,若是,则按照预存的Java脚本规范对所述SQL语句进行全部格式规范校验,若否,则对所述SQL语句进行所述格式规范校验中的标记符校验;
输出模块,用于输出校验结果,所述校验结果包括全部不规范或错误的位置信息。
6.根据权利要求5所述的装置,其特征在于,还包括:
执行模块,用于若所述校验结果为无错误,则以IDEA+Java执行所述SQL语句,以实现数据库的增删改查。
7.根据权利要求5所述的装置,其特征在于,还包括:
上传导入模块,用于将所述数据定义语言上传备份。
8.一种SQL语句快速调试设备,其特征在于,包括:
主控器,及与所述主控器相连的存储器;
所述存储器,其中存储有程序指令;
所述主控器用于执行存储器中存储的程序指令,执行如权利要求1~4任一项所述的方法。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~4任一项所述的方法。
CN202310280041.XA 2023-03-21 2023-03-21 一种sql语句快速调试方法、装置、设备及存储介质 Pending CN116225954A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310280041.XA CN116225954A (zh) 2023-03-21 2023-03-21 一种sql语句快速调试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310280041.XA CN116225954A (zh) 2023-03-21 2023-03-21 一种sql语句快速调试方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116225954A true CN116225954A (zh) 2023-06-06

Family

ID=86591134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310280041.XA Pending CN116225954A (zh) 2023-03-21 2023-03-21 一种sql语句快速调试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116225954A (zh)

Similar Documents

Publication Publication Date Title
US11561887B2 (en) Test script debugging using an automated testing framework and UI rendering tree
CN110764753A (zh) 一种业务逻辑代码生成方法、装置、设备及存储介质
US5926638A (en) Program debugging system for debugging a program having graphical user interface
US7954009B2 (en) Test executive system with memory leak detection for user code modules
CN109254907B (zh) 一种基于Java的接口测试报告生成方法及系统
US7293204B2 (en) Computer peripheral connecting interface system configuration debugging method and system
JPS6076100A (ja) メモリ・アレイ・テスタ・システム
US20140372083A1 (en) Derived restrictions in a combinatorial model
CN107045477B (zh) 一种可进行多维度检测的质量评估平台
US20140214396A1 (en) Specification properties creation for a visual model of a system
CN110727603A (zh) 一种基于ui自动化测试定位元素的改进方法
US10613969B2 (en) Code coverage module with testing function identifier
CN111966587A (zh) 数据采集方法、装置和设备
CN114185791A (zh) 一种数据映射文件的测试方法、装置、设备及存储介质
CN116225954A (zh) 一种sql语句快速调试方法、装置、设备及存储介质
CN111966575A (zh) 一种航空机载显示软件的图形自动化测试方法
US20070168978A1 (en) Computer program code debugging method and system
CN115794639A (zh) 基于流程的可视化测试及可视化仿真模拟测试系统和方法
TW202303388A (zh) 軟體應用中鑑別錯誤的裝置及方法
US20130111447A1 (en) Supporting debugging of program and graphical user interface for supporting debugging
Karnane et al. Automating root-cause analysis to reduce time to find bugs by up to 50%
CN108509197B (zh) 一种测试需求视图生成方法及ate测试方法
RU2817186C1 (ru) Система подтверждения тестов и тестирования встроенного программного обеспечения электронных устройств
CN117609040A (zh) 测试页面生成方法、装置、终端设备以及存储介质
Emergy et al. Multi-level software testing based on cyclomatic complexity

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