- 浏览: 107942 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (99)
- weblogic (2)
- websphere (8)
- log4j (2)
- request (1)
- session (2)
- keytool (2)
- oracle (22)
- Js (5)
- servlet (2)
- Hibernate (2)
- java (1)
- Myeclipse (1)
- 理论 (5)
- utils (1)
- Tomcat (10)
- SQL Server (3)
- CXF (1)
- iframe (2)
- 服务器 (1)
- Ehcache (1)
- Nginx (5)
- 代理服务器 (2)
- Linux (5)
- Redis (1)
- keepalived (4)
- MySQL (1)
- Arcgis Server (1)
- 文件管理 (0)
- BI工具 (1)
- Excel (2)
最新评论
-
ccakcc:
{name: '列名称',index: '列名称',width ...
jqGrid单元格内容设置字体颜色
JAVA调用Oracle存储过程
JAVA跟Oracle之间最常用的是JAVA调用Oracle的存储过程,以下简要说明下JAVA如何对Oracle存储过程进行调用。
Ⅰ、不带输出参数情况
过程名称为pro1,参数个数1个,数据类型为整形数据
import java.sql. * ;
public class ProcedureNoArgs
{
public static void main(String args[]) throws Exception
{
// 加载Oracle驱动
DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());
// 获得Oracle数据库连接
Connection conn = DriverManager.getConnection( " jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd " );
// 创建存储过程的对象
CallableStatement c = conn.divpareCall( " {call pro1(?)} " );
// 给Oracle存储过程的参数设置值 ,将第一个参数的值设置成188
c.setInt( 1 , 188 );
// 执行Oracle存储过程
c.execute();
conn.close();
}
}
Ⅱ、带输出参数的情况
过程名称为pro2,参数个数2个,数据类型为整形数据,返回值为整形类型
import java.sql.*;
public class ProcedureWithArgs
{
public static void main(String args[]) throws Exception
{
//加载Oracle驱动
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//获得Oracle数据库连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd ");
//创建Oracle存储过程的对象,调用存储过程
CallableStatement c=conn.divpareCall("{call pro2(?,?)}");
//给Oracle存储过程的参数设置值 ,将第一个参数的值设置成188
c.setInt(1,188);
//注册存储过程的第二个参数
c.registerOutParameter(2,java.sql.Types.INTEGER);
//执行Oracle存储过程
c.execute();
//得到存储过程的输出参数值并打印出来
System.out.println (c.getInt(2));
conn.close();
}
}
Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。
Oracle存储过程可以有无参数存储过程和带参数存储过程。
一、无参程序过程语法
create or replace procedure NoParPro
as ;
begin
;
exception //存储过程异常
;
end;
二、带参存储过程实例
create or replace procedure queryempname(sfindno emp.empno%type) as
sName emp.ename%type;
sjob emp.job%type;
begin
....
exception
....
end;
三、 带参数存储过程含赋值方式
create or replace procedure runbyparmeters (isal in emp.sal%type,
sname out varchar,sjob in out varchar)
as icount number;
begin
select count(*) into icount from emp where sal>isal and job=sjob;
if icount=1 then
....
else
....
end if;
exception
when too_many_rows then
DBMS_OUTPUT.PUT_LINE('返回值多于1行');
when others then
DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!');
end;
四、在Oracle中对存储过程的调用
过程调用方式一
declare
realsal emp.sal%type;
realname varchar(40);
realjob varchar(40);
begin //存储过程调用开始
realsal:=1100;
realname:='';
realjob:='CLERK';
runbyparmeters(realsal,realname,realjob); --必须按顺序
DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
END; //过程调用结束
过程调用方式二
declare
realsal emp.sal%type;
realname varchar(40);
realjob varchar(40);
begin //过程调用开始
realsal:=1100;
realname:='';
realjob:='CLERK';
runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值对应变量顺序可变
DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
END; //过程调用结束
JAVA跟Oracle之间最常用的是JAVA调用Oracle的存储过程,以下简要说明下JAVA如何对Oracle存储过程进行调用。
Ⅰ、不带输出参数情况
过程名称为pro1,参数个数1个,数据类型为整形数据
import java.sql. * ;
public class ProcedureNoArgs
{
public static void main(String args[]) throws Exception
{
// 加载Oracle驱动
DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());
// 获得Oracle数据库连接
Connection conn = DriverManager.getConnection( " jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd " );
// 创建存储过程的对象
CallableStatement c = conn.divpareCall( " {call pro1(?)} " );
// 给Oracle存储过程的参数设置值 ,将第一个参数的值设置成188
c.setInt( 1 , 188 );
// 执行Oracle存储过程
c.execute();
conn.close();
}
}
Ⅱ、带输出参数的情况
过程名称为pro2,参数个数2个,数据类型为整形数据,返回值为整形类型
import java.sql.*;
public class ProcedureWithArgs
{
public static void main(String args[]) throws Exception
{
//加载Oracle驱动
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//获得Oracle数据库连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd ");
//创建Oracle存储过程的对象,调用存储过程
CallableStatement c=conn.divpareCall("{call pro2(?,?)}");
//给Oracle存储过程的参数设置值 ,将第一个参数的值设置成188
c.setInt(1,188);
//注册存储过程的第二个参数
c.registerOutParameter(2,java.sql.Types.INTEGER);
//执行Oracle存储过程
c.execute();
//得到存储过程的输出参数值并打印出来
System.out.println (c.getInt(2));
conn.close();
}
}
Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。
Oracle存储过程可以有无参数存储过程和带参数存储过程。
一、无参程序过程语法
create or replace procedure NoParPro
as ;
begin
;
exception //存储过程异常
;
end;
二、带参存储过程实例
create or replace procedure queryempname(sfindno emp.empno%type) as
sName emp.ename%type;
sjob emp.job%type;
begin
....
exception
....
end;
三、 带参数存储过程含赋值方式
create or replace procedure runbyparmeters (isal in emp.sal%type,
sname out varchar,sjob in out varchar)
as icount number;
begin
select count(*) into icount from emp where sal>isal and job=sjob;
if icount=1 then
....
else
....
end if;
exception
when too_many_rows then
DBMS_OUTPUT.PUT_LINE('返回值多于1行');
when others then
DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!');
end;
四、在Oracle中对存储过程的调用
过程调用方式一
declare
realsal emp.sal%type;
realname varchar(40);
realjob varchar(40);
begin //存储过程调用开始
realsal:=1100;
realname:='';
realjob:='CLERK';
runbyparmeters(realsal,realname,realjob); --必须按顺序
DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
END; //过程调用结束
过程调用方式二
declare
realsal emp.sal%type;
realname varchar(40);
realjob varchar(40);
begin //过程调用开始
realsal:=1100;
realname:='';
realjob:='CLERK';
runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值对应变量顺序可变
DBMS_OUTPUT.PUT_LINE(REALNAME||' '||REALJOB);
END; //过程调用结束
发表评论
-
Oracle密码过期 怎么修改
2016-10-09 10:36 4421、查看用户的proifle是哪个,一般是default: s ... -
解决Oracle 11g在用EXP导出时,空表不能导出
2016-06-23 15:17 382一、问题原因: 11G中有个新特性,当表无数据时,不分 ... -
ORA-01950: no privileges on tablespace xxxx
2016-06-21 09:00 805案例场景: 新建了一个表空间后TBS_MARKET_DAT ... -
oracle中用户删除不了,提示“无法删除当前已连接的用户”
2016-06-20 16:53 7641.alter user XXX account lock ... -
数据库中的字段和Java里面的类型匹配
2015-12-04 11:49 891当在hibernate中运用原始的sql语句进行操作的的时候, ... -
Oracle查询表结构的SQL语句
2015-05-07 16:24 37941. 查询表结构基本信息 select * ... -
pl sql developer 中文乱码
2015-04-14 16:22 4331、新建变量,设置变量名:NLS_LANG,变量值:SIMP ... -
Oracle OS认证、口令文件、密码丢失处理
2015-01-26 20:30 625一、OS认证 1、OS认证介绍 Oracle安装之后默认 ... -
Win 7 下PL/SQL Developer无法连接64位Oracle 11gR2
2014-11-26 16:52 636前言: plsql developer无法连接ora ... -
Win 7 下Navicat无法连接64位Oracle 11gR2:Cannot load OCI DLL解决方法
2014-04-22 15:01 1321错误描述:在Win7下安装了Oracle 1 ... -
ORACLE EXP/IMP的使用详解
2013-03-20 19:47 713ORACLE EXP/IMP的使用详解 ... -
oracle中exp,imp的使用详解
2013-03-20 19:46 583oracle中exp,imp的使用详 ... -
Oracle 错误一览表
2013-03-20 16:32 851Oracle 错误一览表 ORA-00001: 违 ... -
oracle 错误集锦
2013-03-20 16:02 771oracle 错误集锦 一、解决ORA-12560: TN ... -
ORACLE PL/SQL 存储过程教程
2013-01-07 14:32 962(1)SEQNAME.NEXTVAL里面的值如何读出来?可以直 ... -
Oracle 保留字和关键字
2013-01-06 10:19 1154Reserved words and keywordsare ... -
如何查看Oracle的用户权限
2013-01-05 14:35 823ORACLE数据字典视图的种类分别为:USER,ALL 和 ... -
oracle 操作记录
2013-01-05 14:35 713一、授权 1、赋予create session的权限 gra ... -
Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限集合
2013-01-05 14:35 901CREATE TABLESPACE tab_ckbdata d ... -
Oracle存储过程基本语法
2013-01-05 14:35 755存储过程 1 CREATE OR REPLACE PRO ...
相关推荐
java调用oracle存储过程或者函数
通过实例详细介绍了用java调用oracle存储过程的方法和步骤,包括无返回值的存储过程、有返回值的存储过程(非列表)和返回列表的存储过程的编写、JAVA调用,是一个对存储过程调用的一个全面总结,对程序开发具体实际...
java调用oracle存储过程返回结果集,Record,cursor参照.pdf
Java调用oracle存储过程
java调用oracle存储过程入门实例 增删改查 使用dom4j读取数据库的配置文件(xml) jdbc中connection的管理 使用threadlocal
java调用oracle存储过程实现增删改查
自己整理的,JAVA调用ORACLE存储过程 例子。
JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程 JAVA中调用Oracle存储过程
java调用oracle存储过程.wps java调用oracle存储过程.wps java调用oracle存储过程.wps
讲有关java如何调用ORACLE存储过程以及游标使用,它只包含JAVA调用ORACLE存储过程游标使用(上),还有JAVA调用ORACLE存储过程游标使用(上),
本文用一个案例系统的介绍了怎样用java调用oracle存储过程
Java调用Oracle存储过程的方法
提供JAVA调用ORACLE存储过程通用类
java 调用oracle存储过程 ,里面有很多的源代码,相信对初学java的很有帮助哦。
NULL 博文链接:https://fruitking.iteye.com/blog/1447333
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向...
java调用oracle存储过程的几个小示例+分页