一种SQL语句生成方法及系统技术方案

技术编号:4144567 阅读:255 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种SQL语句生成方法及系统。一种SQL语句生成方法,包括:设置字段及表的描述表项;填充与所述描述表项对应的描述信息,生成数据字典;根据所述数据字典及结构化查询语言SQL语句生成规则生成SQL语句。本发明专利技术实施例中,通过首先设置统一的描述表项,然后填充入描述信息,为实现该发明专利技术目的提供了可能,然后根据SQL语句生成规则,应用数据字典的信息套入SQL语句的模板从而实现了自动快速,大批量的生成SQL语句,提高了SQL语句的编写效率。

【技术实现步骤摘要】

本专利技术涉数据库处理
,尤其涉及一种SQL语句生成方法及系统。
技术介绍
随着计算机技术的迅速发展,数据库的相关应用越来越广泛。然而,当 数据库累积的资料越来越多,数据的关联性日益复杂时,如何方便快速的对 数据库进行查询和管理操作成为各企业厂商研究的重要课题,在此环境下, 各种数据库的操作语言应运而生。SQL ( Structured Query Language,结构化查询语言),是一种数据库查询 和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。具 有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输 入与管理的接口。 SQL语句具有极大的灵活性和强大的功能,在多数情况下, 在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目 的。因此,SQL语句得到越来越广泛的应用。现有技术中,SQL语句的生成方法是由具有一定撰写经验的开发人员根 据数据库实体,使用代码构建数据库内各表的关系,进行SQL语句的编写。 专利技术人在实现本专利技术的过程中发现,这种人工编写SQL语句的方式效率过低, 不能快速批量形成用于编程、业务应用、报表查询等环境所需要的SQL语句, 严重阻碍了 SQL语句的应用。
技术实现思路
本专利技术实施例提供一种SQL语句生成方法及系统,能够快速批量生成 SQL语句,提高效率。为了解决上述技术问题,本专利技术实施例的技术方案如下一种SQL语句生成方法,包括设置字段及表的描述表项;填充与所述描述表项对应的描述信息,生成lt据字典;根据所述数据字典及结构化查询语言SQL语句生成规则生成SQL语句。进一步,所述填充与所述描述表项对应的描述信息具体为根据数据实体录入与所述描述表项对应的表实体描述信息和字段实体描述信息;或者,导入外部数据源的描述信息并与所述描述表项对应。进一步,所述外部数据源包括数据库系统表、产品数据管理库、可扩展标记语言文件、EXCEL文件、资源文件。进一步,所述描述表项包括控制信息描述表项,所述与所述描述表项对应的描述信息包括控制信息。进一步,生成的所述SQL语句符合所述控制信息的要求。进一步,在所述生成数据字典之后,还包括在所述数据字典中选择数据库实体表;依据所述数据实体表之间的关系构建业务模型;所述根据所述数据字典及结构化查询语言SQL语句生成规则生成SQL语句,具体为根据所述业务模型及SQL语句生成规则生成SQL语句。一种SQL语句生成系统,包括设置单元,用于设置字段及表的描述表项;填充单元,用于填充与所述描述表项对应的描述信息,生成数据字典;生成单元,用于根据所述数据字典及结构化查询语言SQL语句生成规则生成SQL语句。进一步,所述填充单元,具体用于根据数据实体录入与所述描述表项对应的表实体描述—信息和字段实体描述信息,生成数据字典;或者,所述填充单元,具体用于导入外部数据源的描述信息并与所述描述表项对应,生成数据字典。进一步,所述描述表项包括控制信息描述表项,所述与所述描述表项对应的描述信息包括控制信息。进一步,所述SQL语句符合所述控制信息的要求。进一步,还包括选择单元,用于在所述数据字典中选择数据库实体表;构建单元,用于依据所述数据实体表之间的关系构建业务模型;所述生成单元,具体用于根据所述业务模型及SQL语句生成规则生成SQL语句。现有技术中,没有形成统一名称的描述表项,对数据库实体没有详细的描述信息,开发人员需要根据经验和一定的编写技巧逐条编写SQL语句,本专利技术实施例中,通过首先设置统一的描述表项,然后填充入描述信息,为实现该专利技术目的提供了可能,然后根据SQL语句生成规则,应用数据字典的信息套入SQL语句的冲莫板从而实现了自动快速,大批量的生成SQL语句,提高了 SQL语句的编写效率。附图说明图1是本专利技术实施例一种SQL语句生成方法的流程图2是本专利技术实施例一的方法流程图3是本专利技术实施例二的方法流程图4是本专利技术实施例一种SQL语句生成系统的结构示意图5是本专利技术实施例另 一种SQL语句生成系统的结构示意图。具体实施例方式为了使本领域技术人员能进一步了解本专利技术的特征及
技术实现思路
,请参阅以下有关本专利技术的详细说明与附图,附图仅提供参考与说明,并非用来限制本专利技术。下面结合附图和实施例,对本专利技术的技术方案进行描述。参照图1,为本专利技术实施例一种SQL语句生成方法的流程图。该方法可以包4舌步骤IOI,设置字段及表的描述表项。在本步骤中,通过设置字段描述表项和表描述表项,来统一对数据库实体的描述,为后续自动快速,成批量的生成SQL语句才是供条件。字段描述表项和表描述表项主要是一些名称的说明,其中,字段描述表项可以包括字段名称、表名称、字段类别、字段类型、字段长度、字段精度、是否允许为空,顺序号、默认值等。表描述表项可以包括表名称,表物理名称、表类别、是否为视图、是否内置表、主键字段设置、表选设置、表类型设置等,该描述表项可以根据对数据实体的所需操作进行具体设置,不局限于上述描述表项。步骤102,填充与所述描述表项对应的描述信息,生成数据字典。该填充描述信息可以有多种方式实现,例如直接功能录入或导入其它现有的描述信息等,具体请参照后续实施例。填充完成后形成的对应关系表即构成数据字典。'步骤103,根据所述数据字典及SQL语句生成规则生成SQL语句。在生成数据字典后,根据SQL语句生成规则可以将该数据字典中各表名及需要操作的描述表项,以及描述表项和描述信息的对应关系等,套入SQL语句的模板即可实现自动快速,批量生成对该数据字典进行操作的SQL语句。现有技术中,没有形成统一名称的描述表项,对数据库实体没有详细的描述信息,开发人员需要根据经验和一定的编写技巧逐条编写SQL语句,本专利技术实施例中,通过首先设置统一的描述表项,然后填充入描述信息,为实现该专利技术目的提供了可能,然后根据SQL语句生成规则,应用数据字典的信息套入SQL语句的模板从而实现了自动快速,大批量的生成SQL语句,提高了 SQL语句的编写效率。下面通过具体的实施例说明SQL语句的生成方法。参照图2,为本专利技术实施例一的方法流程图。该方法可以包括步骤步骤201,设置字段描述表项,生成HRMS—Fields (字段信息描述表)。该字段描述表项用于描述数据库表字段信息。如表1所示为HRMS_Fidds表,该HRMS一Fields中包括字段信息描述表项,如字段名称、表名称、字段类别、字段类型、字段长度、字段精度、是否允许为空,顺序号、默认值等,也还可以包括字段的控制信息描述表项,如输入控件类型、是否锁定、是否内置、字段引用关系设置、视图引用关系设置、字段选项设置等。表l.HRMS—Fields:HRMS-Fields(字段信息描述表)字段IDuniqueidentifier字段名称rwarchar(50)字段系统名称nvarchar(50)数据类型nvarchar(50)字段长度int小数位数int表IDuniqueidentifier引用字段IDuniqueidentifier引用字段名称nvarchar(50)显示字段IDuniqueidentifier显示字段名称rw3rchsr(50)显示字段名称繁体nvarchar(50本文档来自技高网
...

【技术保护点】
一种SQL语句生成方法,其特征在于,包括:  设置字段及表的描述表项;  填充与所述描述表项对应的描述信息,生成数据字典;  根据所述数据字典及结构化查询语言SQL语句生成规则生成SQL语句。

【技术特征摘要】
1、一种SQL语句生成方法,其特征在于,包括设置字段及表的描述表项;填充与所述描述表项对应的描述信息,生成数据字典;根据所述数据字典及结构化查询语言SQL语句生成规则生成SQL语句。2、 根据权利要求1所述的方法,其特征在于,所述填充与所述描述表项 对应的描述信息具体为根据数据实体录入与所述描述表项对应的表实体描述信息和字段实体描 述信息;或者,导入外部数据源的描述信息并与所述描述表项对应。3、 根据权利要求2所述的方法,其特征在于,所述外部数据源包括数据库系统表、产品数据管理库、可扩展标记语言文件、EXCEL文件、 资源文件。4、 根据权利要求1至3中任意一项所述的方法,其特征在于,所述描述 表项包括控制信息描述表项,所述与所述描述表项对应的描述信息包括控制 信息。5、 根据权利要求4所述的方法,其特征在于,生成的所述SQL语句符合 所述控制信息的要求。6、 根据权利要求1至3中任意一项所述的方法,其特征在于,在所述生 成数据字典之后,还包括在所述数据字典中选择数据库实体表;依据所述数据实体表之间的关系构建业务模型;所述根据所述数据字典及结构化查询语言SQL语句生成规则生成S...

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

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

1