一种将Script语言转换成SQL语言的方法及装置制造方法及图纸

技术编号:2834689 阅读:237 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种将Script语言转换成SQL语言的方法,包括:获取Script语言定义的业务规则,所述业务规则为语法元素组成的数据处理逻辑;生成所述语法元素的配置表,所述配置表包括所述语法元素及其对应的配置关系;解析所述业务规则,获得语法元素及相应的数据处理逻辑;根据所述语法元素及数据处理逻辑,调用所述配置表中相应的配置关系,将所述业务规则转换成SQL语句。本发明专利技术可以通过在具体的数据库中执行SQL语句,以实现复杂业务逻辑地处理,以及批量处理功能,获得较强业务处理能力。

【技术实现步骤摘要】

本专利技术涉及程序语言转换处理领域,特别涉及一种需要将反映在数 据库中的Script语言转换成SQL语言的方法及装置。
技术介绍
Script语言是一种脚本程序语言的统称,包括JavaScript、 VBScript、 Applet Script、 Script等,其主要用于描述业务规则,定义元素之间的相 互关系。SQL ( Structured Query Language,结构化查询语言)是一种翁: 据库查询和程序设计语言,用于存取资料以及查询、更新和管理关联式 数据库系统,SQL是高级的非过程化编程语言,允许用户在高层数据结 构上工作。不需要用户指定对数据的存放方法,也不需要用户了解具体 的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使 用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操纵 对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合 特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL 语言可以嵌套,在多数情况下,在其它语言中需要一大段程序实现的一 个单独事件只需要一个SQL语句就可以达到目的。在实际中,相关技术人员在软件实现时,通常会遇到需要将Script 语言描述的业务规则反映到数据库中的情况,例如,在财务软件中,对 于工资计算功能通常需要采用公式定义,以体现各个工资项目之间存在的依赖关系和数量关系,如实发工资=基本工资-保险+补贴,在这种情 况下,现有技术的解决方案为,在Script语言的环境下,提供相应的变量, 通过计算控件完成计算。其中,计算控件采用内置的脚本执行器进行计 算,然后返回计算结果。然而,这种方法只能在客户端进行低效地计算, 一次执行只得到一个单元格的值,不能支持批量处理;并且,由于Script语言的局限性,这种方法只能处理简单的业务逻辑,不支持复杂业务逻 辑的处理。因此,本领域技术人员迫切需要发展出 一种对于需要反映到数据库中的Script语言,可以将其转换成SQL语言以获得较强业务处理能力的 方法及装置。
技术实现思路
本专利技术所要解决的技术问题是提供一种将Script语言转换成SQL语言 的方法,用以将需要反映到数据库中的Script语言转换成SQL语言,以获得SQL的业务处理能力,从而实现复杂业务逻辑地处理,以及批量处理功6匕 目匕。本专利技术还提供了 一种将Script语言转换成SQL语言的装置,用以保证 上述方法在实际中的实现及应用。为解决上述技术问题,本专利技术实施例公开了 一种将Script语言转换成 SQL语言的方法,包括获取Script语言定义的业务规则,所述业务规则为语法元素组成的数 据处理逻辑;生成所述语法元素的配置表,所述配置表包括所述语法元素及其对 应的配置关系;解析所述业务规则,获得语法元素及相应的数据处理逻辑; 根据所述语法元素及数据处理逻辑,调用所述配置表中相应的配置 关系,将所述业务规则转换成SQL语句。 优选的是,所述的方法,还包括 根据所述数据处理逻辑确定所述SQL语句的顺序逻辑; 按照所述顺序逻辑执行所述SQL语句。 优选的是,通过以下步骤确定所述顺序逻辑 根据所述数据处理逻辑创建森林;对所述森林进行遍历,生成顺序逻辑表,所述顺序逻辑表用于记录 所述SQL语句的顺序逻辑。 优选的是,所述解析步骤包括根据所述业务规则建立Script语法树; 遍历所述语法树,提取其中的语法元素及数据处理逻辑。 优选的是,所述语法元素包括标识符、数据类型、函数、表达式、 运算符、注释和/或保留关键字。优选的是,所述转换成SQL语句的步骤包括将所述语法元素中的表达式转换成SQL语言的标记表达式,将所述 语法元素中的函数转换成SQL函数。本专利技术实施例还公开了一种将Script语言转换成SQL语言的装置, 包括获取单元,用于获取Script语言定义的业务规则,所述业务规则为语 法元素组成的数据处理逻辑;配置单元,用于生成所述语法元素的配置表,所述配置表包括所述 语法元素及其对应的配置关系;解析单元,用于解析所述业务规则,获得语法元素及相应的数据处 理逻辑;转换单元,用于根据所述语法元素及数据处理逻辑,调用所述配置 表中相应的配置关系,将所述业务规则转换成SQL语句。 优选的是,所述的装置,还包括确定单元,用于根据所述数据处理逻辑确定所述SQL语句的顺序逻辑;执行单元,用于按照所述顺序逻辑执行所述SQL语句。 优选的是,所述确定单元包括森林创建子单元,用于根据所迷数据处理逻辑创建森林; 生成子单元,用于对所述森林进行遍历,生成顺序逻辑表,所述顺 序逻辑表用于记录所述SQL语句的顺序逻辑。 优选的是,所述解析单元包括语法树建立子单元,用于根据所述业务规则建立Script语法树; 提取子单元,用于遍历所述语法树,提取其中的语法元素及数据处 理逻辑。优选的是,所述语法元素包括标识符、数据类型、函数、表达式、 运算符、注释和/或保留关键字。优选的是,所述转换单元包括格式化子单元,用于将所述语法元素中的表达式转换成SQL语言的 标记表达式,将所述语法元素中的函数转换成SQL函数。 与现有技术相比,本专利技术实施例具有以下优点本专利技术通过解析对于需要反映到数据库中的Script语言定义的业务 规则,解析出语法元素及数据处理逻辑,通过处理条件关系,完成从Script 语言到SQL语句的转换,从而使系统可以在具体的数据库中执行SQL语 句,以实现复杂业务逻辑地处理,以及批量处理功能,获得较强业务处 理能力。附图说明图1是本专利技术的一种将Script语言转换成SQL语言的方法实施例1 的流程图;图2是现有技术中一种Kscript语言的类体系示意图; 图3是现有技术中 一种KSQL语言的类体系示意图; 图4是本专利技术的一种将Script语言转换成SQL语言的方法实施例2 的流程图;图5是一种将Script语言转换成SQL语言的装置实施例的结构框图; 图6是应用图5所示的装置将需要反映到数据库中的Script语言转换 到SQL语言的流程图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合 附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术实施例的核心构思之一在于,通过解析对于需要反映到数据 库中的Script语言定义的业务规则,解析出语法元素及数据处理逻辑,通 过处理条件关系,完成从Script语言到SQL语句的转换,使系统可以在 具体的数据库中执行SQL语句,以实现复杂业务逻辑地处理,以及批量处理功能,获得较强业务处理能力。参照图1 ,示出了本专利技术的 一种将Script语言转换成SQL语言的方 法实施例1的流程图,具体包括以下步骤步骤IOI、获取Script语言定义的业务规则,所述业务规则为语法元 ,素组成的数据处理逻辑;步骤102、生成所述语法元素的配置表,所述配置表包括所述语法元 素及其对应的配置关系;步骤103、解析所述业务规则,获得语法元素及相应的数据处理逻辑;步骤104、根据所述语法元素及数据处理逻辑,调用所述配置表中相 应的配置关系,将所述业务规则转换成SQL语句。公知的是,Script (脚本)是使用一种特定的描述性语言,依据一定 的格式编写的可执行文件。脚本通常可以由应用程序临时调用并执行本文档来自技高网
...

【技术保护点】
一种将Script语言转换成SQL语言的方法,其特征在于,包括:获取Script语言定义的业务规则,所述业务规则为语法元素组成的数据处理逻辑;生成所述语法元素的配置表,所述配置表包括所述语法元素及其对应的配置关系;解 析所述业务规则,获得语法元素及相应的数据处理逻辑;根据所述语法元素及数据处理逻辑,调用所述配置表中相应的配置关系,将所述业务规则转换成SQL语句。

【技术特征摘要】
1、一种将Script语言转换成SQL语言的方法,其特征在于,包括获取Script语言定义的业务规则,所述业务规则为语法元素组成的数据处理逻辑;生成所述语法元素的配置表,所述配置表包括所述语法元素及其对应的配置关系;解析所述业务规则,获得语法元素及相应的数据处理逻辑;根据所述语法元素及数据处理逻辑,调用所述配置表中相应的配置关系,将所述业务规则转换成SQL语句。2、 如权利要求l所述的方法,其特征在于,还包括 根据所述数据处理逻辑确定所述SQL语句的顺序逻辑; 按照所述顺序逻辑执行所述SQL语句。3、 如权利要求2所述的方法,其特征在于,通过以下步骤确定所述 顺序逻辑根据所述数据处理逻辑创建森林;对所述森林进行遍历,生成顺序逻辑表,所述顺序逻辑表用于记录 所述SQL语句的顺序逻辑。4、 如权利要求1、 2或3所述的方法,其特征在于,所述解析步骤 包括根据所述业务规则建立Script语法树; 遍历所述语法树,提取其中的语法元素及数据处理逻辑。5、 如权利要求4所述的方法,其特征在于,所述语法元素包括标识 符、数据类型、函数、表达式、运算符、注释和/或保留关键字。6、 如权利要求5所述的方法,其特征在于,所述转换成SQL语句的 步骤包括将所述语法元素中的表达式转换成SQL语言的标记表达式,将所述 语法元素中的函数转换成SQL函数。7、 一种将Script语言转换成SQL语言的装置,其特征在于,包括 获取单元,用...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:94[中国|深圳]

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

1