在大型数据库系统中,有两个非常重要的功能,即存储过程和触发器。 在数据库系统中,存储过程和触发器都是通过SQL语句和控制流语句的集合来实现的。 相对而言,数据库系统中的触发器也是存储过程。 存储过程在数据库中操作时自动生成各种执行方法,从而大大提高了其运行时的执行速度。 SQL等大型数据库系统不仅提供了用户定义存储过程的功能,还提供了很多系统内置的存储过程,可以作为工具来调用。
所谓存储过程( ),是一组用来完成特定数据库功能的SQL语句。 该SQL语句集被编译并存储在数据库系统中。 使用时,用户通过指定定义的存储过程名称并给出相应的存储过程参数来调用并执行它,完成一个或一系列数据库操作。
由于J2EE系统一般构建大型企业级应用系统,一般都配备有SQL或SQL等大型数据库系统,因此这篇《JAVA与存储过程》将介绍JAVA与存储过程之间的相互应用和各种调用。程序。 。
1.JAVA调用存储过程
JAVA与JAVA之间最常用的是JAVA调用的存储过程。 下面简单说明一下JAVA如何调用存储过程。
Ⅰ. 无输出参数
进程名称为pro1,参数个数为1,数据类型为整型数据。
java.sql.*;
班级
无效主([])
//加载驱动
.(新的.jdbc..());
// 获取数据库连接
= .( " jdbc::thin:@:1521:ORCL", sUsr, sPwd " );
//创建存储过程的对象
= conn.( " {(?)} " );
//为存储过程的参数设置值,将第一个参数的值设置为188
c.(1,188);
//执行存储过程
C。();
conn.close();
二. 带输出参数的情况
进程名称为pro2,参数个数为2,数据类型为整型数据,返回值为整型。
.sql.*;
([])
//加载驱动
.(新的.jdbc..());
//获取数据库连接
= .(" jdbc::thin:@:1521:ORCL", sUsr, sPwd ");
//创建存储过程的对象并调用存储过程
=conn.("{(?,?)}");
//为存储过程的参数设置值,将第一个参数的值设置为188
c.(1,188);
//注册存储过程的第二个参数
c.(2,java.sql.类型。);
//执行存储过程
C。();
//获取存储过程的输出参数值并打印出来
。出去。 (c.(2));
conn.close();
存储过程包含三部分:过程声明、执行过程部分和存储过程异常。
存储过程可以包括无参数存储过程和参数化存储过程。
1. 无参数程序过程语法
2as
//存储过程异常
7结束;
2、带参数的存储过程示例
(.empno%类型)as
.ename%类型;
。工作类型;
5....
....
14结束;
15
3、带参数的存储过程包含赋值方法
(.sal%类型,
,)
;
(*)resal>=sjob;
=1那么
6……。
9其他
10....
;
母鸡
.('返回值超过1行');
.('过程中发生错误!');
18 结束;
19
4. 调用存储过程
程序调用方法一
.sal%类型;
(40);
(40);
//存储过程调用开始
:=1100;
:='';
:='职员';
(,,); --一定要按顺序
.(||''||);
11结束; //程序调用结束
12
过程调用方法2
.sal%类型;
(40);
(40);
//程序调用开始
:=1100;
:='';
:='职员';
(sname=>,isal=>,sjob=>); - 指定值对应的变量顺序是可变的
.(||''||);
11结束; //程序调用结束
12
至此,相关的基本存储过程以及如何调用存储过程已经介绍完毕。