[发明专利]SQL脚本的执行方法及装置在审
申请号: | 202110643714.4 | 申请日: | 2021-06-09 |
公开(公告)号: | CN113204566A | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 王志翔;尹婷;王颖慧 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2458;G06F9/455 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 李伟 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 脚本 执行 方法 装置 | ||
本发明提供一种SQL脚本的执行方法及装置,该方法包括:获取包含至少一个数据库的数据库集和配置信息,基于配置信息为每个数据库添加与其对应的各个SQL脚本;基于各个SQL脚本的脚本信息,生成执行序列;依次读取执行序列中的各个脚本编码,将当前读取到的脚本编码作为目标编码,调用与目标编码对应的SQL脚本,生成SQL脚本的回退脚本;判断执行的SQL脚本是否执行出错;若出错,则执行回退脚本,生成出错信息并停止读取执行序列中位于目标编码后的各个脚本编码;基于根据SQL脚本的脚本信息生成的执行序列依次执行各个SQL脚本,由此保证了有序执行脚本,在SQL脚本执行出错时,停止执行后续的SQL脚本,快速定位出错的SQL脚本,提高工作的效率和保证数据库的稳定。
技术领域
本发明涉及数据库技术领域,特别涉及一种SQL脚本的执行方法及装置。
背景技术
数据库是组成各种处理系统必不可少的成分之一,结构化查询语言(StructuredQueryLanguage,SQL)是组成数据库的编程语言之一,其中,SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新及管理数据库。
近些年来,随着大数据的发展,数据库的类型变得越来越多,为了确保处理系统上线的稳定性,通常需要对数据库进行部署和维护,而在对数据库进行部署和维护时,通常是执行使用SQL语句编写成的SQL脚本来实现的。
传统执行SQL脚本的方式是使用过程化SQL语言自带的命令模式批量执行SQL脚本,使用这种方式执行多个SQL脚本时,在SQL脚本出错时不能及时停止,使得无法准确的确定执行出错的SQL脚本。
发明内容
有鉴于此,本发明提供一种SQL脚本的执行方法及装置,在批量执行SQL脚本的过程中,SQL脚本执行出错时,执行对应的回退脚本和停止执行后续的SQL脚本,由此可快速的恢复数据库的装置和快速定位出错的SQL脚本。
为实现上述目的,本发明实施例提供如下技术方案:
一种SQL脚本的执行方法,包括:
获取数据库集,所述数据库集中包含至少一个数据库;
获取配置信息,并基于所述配置信息为每个所述数据库添加与其对应的各个SQL脚本;
基于各个所述SQL脚本的脚本信息,生成执行序列,所述执行序列由每个所述SQL脚本的脚本编码按照每个所述SQL脚本的执行等级从高到低排列组成;
依次读取所述执行序列中的各个脚本编码;
将当前读取到的脚本编码作为目标编码,调用与所述目标编码对应的SQL脚本,并生成与所述SQL脚本对应的回退脚本;
执行所述SQL脚本,并判断所述SQL脚本是否执行出错;
若所述SQL脚本执行出错,则执行与所述SQL脚本对应的回退脚本,生成所述SQL脚本的出错信息并停止读取所述执行序列中位于所述目标编码后的各个脚本编码。
上述的方法,可选的,还包括:
若所述SQL脚本执行未出错,则确定所述目标编码在所述执行序列中是否为最后一个脚本编码;
若所述目标编码在所述执行序列中不为最后一个脚本编码,则将下一个读取到的脚本编码作为目标编码,并执行与所述目标编码对应的操作。
上述的方法,可选的,还包括:
若所述目标编码在所述执行序列中为最后一个脚本编码,则生成执行结束信息,并将所述执行结束信息进行展示。
上述的方法,可选的,所述基于各个所述SQL脚本的脚本信息,生成执行序列,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110643714.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:减少加热不燃烧卷烟中雾化剂使用量的方法
- 下一篇:一种发电背包及其发电方法