APP下载

Java调用数据库存储过程的研究与实现

2019-08-10李焕玲

电脑知识与技术 2019年17期
关键词:调用语句年龄

李焕玲

摘要:存储过程是数据库中的一个重要对象,利用存储过程可以提高数据库的执行效率,提高数据库的安全性,并能减少网络数据的传输。本文介绍了存储过程的概念及分类,以及存储过程的创建方法,并詳细介绍了如何利用Java程序调用数据库存储过程。

关键词:数据库;存储过程;java;CallableStatement接口

分类号 TP311.13        文献标识码:A

文章编号:1009-3044(2019)17-0014-02

开放科学(资源服务)标识码(OSID):

随着互联网+以及大数据时代的到来,如何提高数据的执行效率已成为数据处理的主要任务,存储过程是SQL Server数据库的重要技术,它具有强大的编程功能,并且还可以提高程序的执行效率,提高数据的安全性。

1 存储过程概述

1.1存储过程的概念

存储过程(Stored Procedure)是数据库中的一种对象,它是为了完成一个特定的任务而由SQL语句构成的集合。存储过程存储在数据库中,只需要一次编译后即可重复使用。

1.2 存储过程的分类

1)系统存储过程

这类存储过程是由SQL Server系统提供的,可进行各种数据库的基本设计。用户可直接使用,如:sp_renamedb可对数据库进行更名,该类存储过程名以sp_开头。

2)本地存储过程

这类存储过程是由用户创建的,该存储过程是为了完成一个具体的功能,一般所说的存储过程就是指本地存储过程。

3)临时存储过程

这类存储过程存放在临时数据库(tempdb)中,其中以#开头的称为本地临时存储过程,只有创建它的用户才可以使用。另一种以##开并没有的称全局临时存储过程,该存储过程可以被连接到数据库服务器上的所有用户访问执行。

4)远程存储过程

这类存储过程是存放在远程服务器上的存储过程,用户可以进行远程访问。

5)扩展存储过程

这类存储过程是用户使用外部程序语言编写的存储过程,名称一般以xp_开头。

1.3 存储过程的特点

1)提高运行效率

由于存储过程在创建的时候,数据库已经对其进行了解析和优化,以后就可以直接运行而不需要重新编译。而普通的SQL语句每次执行时都要进行编译,所以使用存储过程的执行速度会比普通SQL语句快,从而提高数据库的运行效率。

2)减少网络传输

存储过程直接在数据库服务器上运行,数据的访问都在数据库服务器内部进行,执行结束后只需将运行结果返回给客户端,而客户端调用存储过程只需要传输存储过程名和相关参数即可,这就比传输SQL语句的数据量少,所以会减少一定的网络传输。

3)可重复使用

存储过程一旦创建好后可以重复使用,从而减少数据库开发人员的工作量。

4)安全性高

通过向用户授予权限,可设定只有特定用户才具有对指定存储过程的使用权限。

2 创建存储过程

以SQL Server数据库为例,设计定在SQL Server中已创建了数据库mydb,并在该数据库中创建了student表:student(sno,sname,sex,sbirth),接下来将创建几种常用的存储过程。

2.1 不带参数的存储过程

该类存储过程创建完成后,只能完成一个具体的任务,在执行时无须用户输入参数。

例如创建p_xs01存储过程,要求查询所有学生年龄。该存储过程返回所有学生的年龄,其代码如下:

2.2 带输入参数的存储过程

该类存储过程可以扩展存储过程的功能,可以完成一类任务,在执行时通过用户输入参数,将外部信息传递到存储过程中。

例如:创建p_xs02存储过程,要求输入一个学生的姓名并显示该学生的年龄。该存储过程有一个输入参数学生姓名,并且返回该学生的年龄,其代码如下:

2.3 带输入和输出参数的存储过程

存储过程的参数可以是输入也可以是输出,通过输入过程可以将外部信息传递给存储过程,通过输出参数可以将信息输出到屏幕,输出参数在使用时需使用output关键字声明。

例如:创建p_xs03存储过程,要求输入一个学生的姓名,并且输出该学生的年龄。该存储过程有一个输入参数学生姓名,一个输出参数年龄,其代码如下:

3 Java调用存储过程

3)创建数据库连接对象。

3.1调用不带参数的存储过程

其中,c是数据库连接对象,通过调用p_xs02存储过程,可将王美的年龄输出。

3.3 调用带输入和输出参数的存储过程

4 总结

在Java程序设计中,数据访问是非常重要的,只有通过调用数据库中的存储过程,才能提高数据库的执行效率,减少网络传输,使得SQL语句更加安全,所以掌握存储过程对数据库操作是非常重要的。

参考文献:

[1] 齐文娟. 对SQL Server存储过程的研究与应用[J].廊坊师范学院学报:自然科学版,2010(8).

[2] 郝爱语. 通过存储过程更新数据为技术的探究与实现[J].软件导刊,2010(10).

[3] 陈雅.SQL Server数据库存储过程应用研究[J].中国科技信息,2017(5).

[4] 张梅梅.SQL Server 2008中的存储过程的研究及应用[J].中国市场,2016(6).

[5] 韩翔宇.数据库存储过程的探讨及应用[J].信息系统工程,2015(12).

[6] 陈潇.SQL Server2008数据库存储过程的应用[J].软件工程师,2015(6).

[7] 调用存储过程.https://blog.csdn.net/aigochina/article/details/7956936

[8] 百度百科.https://baike.baidu.com/

【通联编辑:王力】

猜你喜欢

调用语句年龄
重点:语句衔接
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
基于系统调用的恶意软件检测技术研究
算年龄
如何搞定语句衔接题
利用RFC技术实现SAP系统接口通信
作文语句实录