一种对SQL语句进行封装的方法及系统技术方案

技术编号:10634834 阅读:227 留言:0更新日期:2014-11-12 10:42
本发明专利技术公开一种对SQL语句进行封装的方法及系统。所述方法包括:获取待封装的SQL语句中每一个输出参数的数据类型;建立自定义类型,所述自定义类型中包括一个或多个变量,每个变量的数据类型分别与待封装的SQL语句中的一个输出参数的数据类型相对应;创建包含所述待封装的SQL语句的函数;所述函数至少还包括输出参数,所述输出参数的类型与所述自定义类型相同。采用本发明专利技术的方法或系统,可以使用函数对SQL语句进行封装,从而不必输入大量SQL代码,就可以对Oracle数据库进行管理。

【技术实现步骤摘要】
【专利摘要】本专利技术公开一种对SQL语句进行封装的方法及系统。所述方法包括:获取待封装的SQL语句中每一个输出参数的数据类型;建立自定义类型,所述自定义类型中包括一个或多个变量,每个变量的数据类型分别与待封装的SQL语句中的一个输出参数的数据类型相对应;创建包含所述待封装的SQL语句的函数;所述函数至少还包括输出参数,所述输出参数的类型与所述自定义类型相同。采用本专利技术的方法或系统,可以使用函数对SQL语句进行封装,从而不必输入大量SQL代码,就可以对Oracle数据库进行管理。【专利说明】-种对SQL语句进行封装的方法及系统
本专利技术涉及程序开发领域,特别是涉及一种对SQL语句进行封装的方法及系统。
技术介绍
结构化查询语言(Structured Query Language, SQL),是一种数据库查询和程序 设计语言,用于存取数据以及查询、更新和管理关系数据库系统。结构化查询语言是高级的 非过程化编程语言,允许用户在高层数据结构上工作。 现有技术中,对于Oracle数据库的管理,一般是输入或者黏贴SQL语句。但是,现 有技术中,使用SQL语句对Oracle数据库进行管理时,需要输入大量(通常为上百个字符) 的SQL代码,十分复杂。这进一步导致现有技术中,对Oracle数据库的管理效率较为低下。
技术实现思路
本专利技术的目的是提供一种对SQL语句进行封装的方法及系统,可以使用函数对 SQL语句进行封装,从而不必输入大量SQL代码,就可以对Oracle数据库进行管理。 为实现上述目的,本专利技术提供了如下方案: -种对SQL语句进行封装的方法,包括: 获取待封装的SQL语句中每一个输出参数的数据类型; 建立自定义类型,所述自定义类型中包括一个或多个变量,每个变量的数据类型 分别与待封装的SQL语句中的一个输出参数的数据类型相对应; 创建包含所述待封装的SQL语句的函数; 所述函数至少还包括输出参数,所述输出参数的类型与所述自定义类型相同。 可选的,所述SQL语句用于查询数据表中的数据,所述获取待封装的SQL语句中每 一个输出参数的数据类型,包括: 登陆 SQL*PLUS 系统; 从SQL*PLUS系统中获取待查询的数据表中的数据的数据类型。 可选的,所述函数还包括输入参数。 可选的,所述自定义类型包括:子类型,普通类型,或者带成员函数的类型体。 一种对SQL语句进行封装的系统,包括: 数据类型获取单元,用于获取待封装的SQL语句中每一个输出参数的数据类型; 自定义类型建立单元,用于建立自定义类型,所述自定义类型中包括一个或多个 变量,每个变量的数据类型分别与待封装的SQL语句中的一个输出参数的数据类型相对 应; 函数创建单元,用于创建包含所述待封装的SQL语句的函数; 所述函数至少还包括输出参数,所述输出参数的类型与所述自定义类型相同。 可选的,所述SQL语句用于查询数据表中的数据,所述数据类型获取单元,包括: 登陆子单元,用于登陆SQL*PLUS系统; 数据类型获取子单元,从SQL*PLUS系统中获取待查询的数据表中的数据的数据 类型。 可选的,所述函数还包括输入参数。 可选的,所述自定义类型包括:子类型,普通类型,或者带成员函数的类型体。 根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果: 本专利技术的对SQL语句进行封装的方法及系统,通过使用函数对SQL语句进行封装, 当工作人员需要输入该SQL语句时,只需要调用封装后的函数,就可以实现该SQL语句的功 能,从而不必输入大量SQL代码,就可以对Oracle数据库进行管理。 【专利附图】【附图说明】 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图 获得其他的附图。 图1为本专利技术的对SQL语句进行封装的方法实施例的流程图; 图2为本专利技术的对SQL语句进行封装的系统实施例的结构图。 【具体实施方式】 下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。 为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本专利技术作进一步详细的说明。 图1为本专利技术的对SQL语句进行封装的方法实施例的流程图。如图1所示,所述 方法可以包括 : 步骤101 :获取待封装的SQL语句中每一个输出参数的数据类型; 所述SQL语句可以是执行查询功能的语句。所述SQL语句可以包括多个输出参数, 每个输出参数与一个待查询的数据相对应。在Oracle数据库中,待查询的数据可以存储在 对象,视图或者表中。 为了获取待查询的数据的数据类型,可以登陆SQL*PLUS系统;从SQL*PLUS系统中 获取待查询的数据表中的数据的数据类型。SQL*PLUS是与Oracle进行交互的客户端工具。 在SQL*PLUS中,可以运行SQL*PLUS命令与SQL语句。 步骤102 :建立自定义类型,所述自定义类型中包括一个或多个变量,每个变量的 数据类型分别与待封装的SQL语句中的一个输出参数的数据类型相对应; 所述自定义类型可以包括:子类型,普通类型,或者带成员函数的类型体。 本实施例中,之所以要建立自定义类型,是因为执行查询功能的SQL语句的一个 特点是,包括多个输出参数,因此,需要用自定义类型,来存储多个输出参数,作为后续步骤 中创建的函数的返回值。 每个变量的数据类型分别与待封装的SQL语句中的一个输出参数的数据类型相 对应,是指某一个变量的数据类型与SQL语句中的一个输出参数的数据类型是相同的。例 如,变量a,用来表示SQL语句中的一个输出参数username ;如果username的数据类型为 varchar2,则变量a的数据类型也为varchar2。 步骤103 :创建包含所述待封装的SQL语句的函数; 所述函数至少还包括输出参数,所述输出参数的类型与所述自定义类型相同。 步骤103可以将SQL语句封装成函数的形式。所述输出参数指的是所述函数的返 回值。由于步骤102中,建立了自定义类型,用来存储多个输出参数,作为后续步骤中创建 的函数的返回值。所以步骤103中,所述输出参数的类型与所述自定义类型相同。 需要说明的是,所述函数根据实际需求,还可以包括输入参数。 本实施例中,通过使用函数对SQL语句进行封装,当工作人员需要输入该SQL语句 时,只需要调用封装后的函数,就可以实现该SQL语句的功能,从而不必输入大量SQL代码, 就可以对Oracle数据库进行管理。 此外,本实施例中,还采用自定义类型,解决了 SQL语句中包含多个输出参数时, 对于输出参数的数据类型进本文档来自技高网...

【技术保护点】
一种对SQL语句进行封装的方法,其特征在于,包括:获取待封装的SQL语句中每一个输出参数的数据类型;建立自定义类型,所述自定义类型中包括一个或多个变量,每个变量的数据类型分别与待封装的SQL语句中的一个输出参数的数据类型相对应;创建包含所述待封装的SQL语句的函数;所述函数至少还包括输出参数,所述输出参数的类型与所述自定义类型相同。

【技术特征摘要】

【专利技术属性】
技术研发人员:郭铁志张宝玉马向晖
申请(专利权)人:杭州勒卡斯广告策划有限公司
类型:发明
国别省市:浙江;33

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

1