- 浏览: 2290553 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (357)
- J2EE (49)
- JavaScript (40)
- Spring (19)
- Struts (5)
- CSS (8)
- Hibernate (16)
- Java (67)
- DWR (4)
- JSON (3)
- XFIRE (1)
- Tomcat (1)
- Ant (2)
- 设计模式 (2)
- 经典收藏 (2)
- JSP (10)
- Linux (0)
- WebLogic (11)
- myeclipse (13)
- Buffalo (4)
- 文件上传相关 (1)
- oracle (33)
- html (6)
- JSTL (3)
- SVN (2)
- GIT (1)
- 孙卫琴(Java网络编程精解) (1)
- DOM4J (2)
- Swing (1)
- AJAX (1)
- Eclipse (5)
- 日志组件 (3)
- PowerDesigner (1)
- Jquery (22)
- IT技术开发相关网址 (1)
- Nutz (1)
- 其它 (1)
- Velocity (3)
- WebService (1)
- MySql (2)
- Android (1)
- Maven (2)
- Quartz (11)
- Lucene (1)
- springsource (1)
- Junit (1)
- Activiti (0)
最新评论
-
yzlseu:
拼凑,没有营养
Activiti进阶—分配组任务 -
zhangsenhao:
非常赞!代码很清楚
SpringMVC3.0+MyIbatis3.0(分页示例) -
xiamw2000:
分页写得不对,应该是 : order by ${orderNa ...
SpringMVC3.0+MyIbatis3.0(分页示例) -
sheertewtw:
...
SpringMVC:上传与下载 -
kingtoon:
...
XSS之xssprotect
一 创建相关语法说明
1 创建包头语法:
CREATE [OR REPLACE] PACKAGE 包名
--此处可声明变量
END [包名];
说明如下:
可选关键字OR REPLACE 表示如果包名已经存在,则用新的包名覆盖,通常用于包名的重建。
2 创建包体的语法
CREATE [OR REPLACE] PACKAGE BODY 包名
END [包名];
3 创建存储过程语法
CREATE [OR REPLACE] PROCEDURE 存储过程名[(参数[IN|OUT|IN OUT] 数据类型...)]
{AS|IS}
[说明部分]
BEGIN
可执行部分
[EXCEPTION
错误处理部分]
END [过程名];
其中:
可选关键字OR REPLACE 表示如果存储过程已经存在,则用新的存储过程覆盖,通常用于存储过程的重建。
参数部分用于定义多个参数(如果没有参数,就可以省略)。参数有三种形式:IN、OUT和IN OUT。如果没有指明参数的形式,则默认为IN。
关键字AS也可以写成IS,后跟过程的说明部分,可以在此定义过程的局部变量。
二 示例说明
1 创建包名
2 创建包体
注意事项: 注意传递进来的ID名称不能为UID,不能和表中字段名称相同,否则结果不一样.
三 JAVA代码调用说明
1 代码示例
//注意:此处是包名.存储过程名称
注意事项:此处要用oracle的API.
另外一种写法:
1 创建包头语法:
CREATE [OR REPLACE] PACKAGE 包名
--此处可声明变量
END [包名];
说明如下:
可选关键字OR REPLACE 表示如果包名已经存在,则用新的包名覆盖,通常用于包名的重建。
2 创建包体的语法
CREATE [OR REPLACE] PACKAGE BODY 包名
END [包名];
3 创建存储过程语法
CREATE [OR REPLACE] PROCEDURE 存储过程名[(参数[IN|OUT|IN OUT] 数据类型...)]
{AS|IS}
[说明部分]
BEGIN
可执行部分
[EXCEPTION
错误处理部分]
END [过程名];
其中:
可选关键字OR REPLACE 表示如果存储过程已经存在,则用新的存储过程覆盖,通常用于存储过程的重建。
参数部分用于定义多个参数(如果没有参数,就可以省略)。参数有三种形式:IN、OUT和IN OUT。如果没有指明参数的形式,则默认为IN。
关键字AS也可以写成IS,后跟过程的说明部分,可以在此定义过程的局部变量。
二 示例说明
1 创建包名
CREATE OR REPLACE PACKAGE TESTS AS --包头部分 TYPE MYUSER_CURSOR IS REF CURSOR; --类型对象为游标 PROCEDURE PROC_TUSER(ID in varchar2,MYUSER out MYUSER_CURSOR); END TESTS;
2 创建包体
CREATE OR REPLACE PACKAGE TESTS BODY AS --包头部分 PROCEDURE PROC_TUSER(ID in varchar2,MYUSER out MYUSER_CURSOR) AS BEGIN OPEND MYUSER FOR SELECT * FROM USERS WHERE UID=ID; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('获取用户信息出错!'); END PROC_TUSER; END TESTS;
注意事项: 注意传递进来的ID名称不能为UID,不能和表中字段名称相同,否则结果不一样.
三 JAVA代码调用说明
1 代码示例
//注意:此处是包名.存储过程名称
oracle.jdbc.OracleCallableStatement csmt = (oracle.jdbc.OracleCallableStatement)jdbc.getCallStmt(“{call TESTS. PROC_TUSER (?,?)}”); csmt.setString(1,id); csmt.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR); csmt.execute(); ResultSet rs =csmt.getCursor(2);
注意事项:此处要用oracle的API.
另外一种写法:
java.sql.CallableStatement csmt = jdbc.getCallStmt(“{call TESTS. PROC_TUSER (?,?)}”); csmt.setString(1,id); csmt.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR); csmt.execute(); java.sql.ResultSet rs = (java.sql.ResultSet)csmt.getObject(2);
- java调用oracle存储过程相关.rar (13.6 KB)
- 下载次数: 62
发表评论
-
oracle之INSTR函数
2011-10-13 15:33 18参考资料 1 Oracle的instr函数 http://kn ... -
oracle之DECODE()函数
2011-10-13 10:12 1448参考资料 1 oracle中的DECODE()函数 http: ... -
oracle之存储过程,临时表,游标示例
2011-09-22 11:58 7818参考资料 1 ORACLE 存储过程返回临时表结果集 htt ... -
oracle之删除临时表(14452)
2011-09-22 11:25 2923参考资料 1 Oracle临时表删除时的ORA-14452错误 ... -
oracle之truncate && delete
2011-09-22 09:19 2924参考资料 实例对比Oracle ... -
oracle之临时表
2011-09-20 14:49 1406参考资料 1 Oracle 临时表用法 http://www. ... -
oracle之随机数(结果集)
2011-09-20 11:32 2176参考资料 Oracle中随机抽 ... -
转载:本地每天定时备份数据库
2011-09-15 12:52 1295转载: 本地每天定时备份数据库 http://relic6.i ... -
Oracle之instr(字符串包含函数)
2011-07-29 11:01 49302参考资料 1 oracle函数大 ... -
oracle中关于in和exists,not in 和 not exists用法与区别
2011-06-27 10:25 4061参考资料 1 oracle中关于in和exists,not i ... -
Oracle:递归查询SQL
2011-05-06 16:59 2065有部门表: ID,PID --查询所有 select cou ... -
Oracle:行转列函数,查询重复记录函数,过滤表中重复记录函数
2011-04-28 11:34 28171 行转列函数: select wm_concat(usern ... -
Oracle:创建序列与触发器
2011-04-15 14:41 18301 创建序列(为触发器提供服务) create seque ... -
Navicat for Oracle Cannot load OCI DLL
2011-04-12 14:34 19177参考资料 Navicat for Oracle Cannot ... -
oracle: if...elseif...else用法
2011-03-31 16:38 15189参考资料 1 <转载>oracle存储过程中的if ... -
Oracle 自动生成 32位ID
2011-03-11 11:27 56081 code select SUBSTR(TO_CHAR ... -
Oracle split(分隔字符串函数)
2011-03-11 10:57 15440一 Oracle版本: 10g PLSQL: 8.0 二 具体 ... -
Oracle内连接、左外连接、右外连接、全外连接小总结
2011-01-24 11:11 13776转载:Oracle内连接、左外连接、右外连接、全外连接小总结 ... -
64位windows7 上安装32位oracle 10g 的方法
2010-12-23 12:17 3942转载:64位windows7 上安装32位oracle 10g ... -
Oracle 表解锁
2010-12-07 15:43 1583转载:Oracle 表解锁 http://toyota2006 ...
相关推荐
本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...
总结一下,Java调用Oracle存储过程并处理游标的关键步骤包括: 1. 创建Oracle存储过程,包含一个或多个OUT参数,这些参数为游标。 2. 在Java中,使用`CallableStatement`调用存储过程,注册OUT参数为`OracleTypes....
本文介绍了Java调用Oracle存储过程返回结果集Record和Cursor的相关知识点,包括创建Type、PACKAGE和PROCEDURE,Java代码中调用存储过程,并获取结果集。这些知识点对深入了解Oracle存储过程和Java调用Oracle存储过程...
Oracle 存储过程调用 CallabledStatement 实用例子(IN OUT 传游标) 一、Oracle 存储过程简介 Oracle 存储过程是一种可以在 Oracle 数据库中存储和执行的程序单元。存储过程可以由多种语言编写,例如 PL/SQL、...
以上就是Java调用Oracle存储过程或函数的主要知识点,实践中要根据具体情况进行适当的调整和优化。在处理过程中,参考Oracle的JDBC文档和官方示例,以及Java API文档,将有助于理解和解决问题。
} } catch (SQLException ex1) { } } }}```总结与注意事项调用Oracle存储过程在Java中主要使用`CallableStatement`,通过占位符`?`来代表参数,并使用`setXXX`方法设置IN参数,`registerOutParameter`注册OUT或IN...
通过阅读和分析这些文件,你可以深入理解如何在Java应用程序中调用Oracle存储过程,并且有效地利用游标处理数据。这个过程涉及到数据库设计、SQL编写、PL/SQL编程以及Java JDBC技术,是数据库开发中的核心技能之一。
通过这些步骤,你可以成功地从Java应用程序中调用Oracle存储过程。确保正确配置JDBC驱动,理解存储过程的参数类型,并熟悉JDBC API,这样就能高效地实现数据交互了。在开发过程中,可以参考Oracle的官方文档以及各种...
以上就是使用Java调用Oracle存储过程的方法,包括处理基本类型返回值和游标返回值。在实际开发中,可能还需要处理异常、事务管理等问题,确保代码的健壮性和可维护性。同时,为了提高性能,建议使用连接池管理数据库...
### JAVA调用ORACLE存储过程通用类 #### 概述 在Java开发中,经常会遇到需要与数据库交互的情况,特别是当涉及到复杂的业务逻辑时,利用数据库的存储过程可以有效地提高程序性能并简化代码结构。本篇文章将详细...
在Java编程中,调用Oracle数据库的存储过程是常见的任务,尤其在处理复杂业务逻辑或数据操作时。本文将深入探讨如何使用Java与...记住,实践是最好的老师,尝试编写一个简单的Java程序来调用Oracle存储过程,加深理解。
本文将深入探讨如何在Spring Boot项目中整合MyBatis,实现调用Oracle存储过程并处理游标返回的数据。 首先,我们需要在Spring Boot项目中引入相关的依赖。在`pom.xml`文件中添加Oracle JDBC驱动(ojdbc66-oracle...
3. Java调用Oracle存储过程处理输出游标: 存储过程是预编译的SQL语句集合,可以在数据库服务器端执行。在Java中,可以使用`CallableStatement`来调用存储过程,特别是处理返回输出游标的存储过程。游标允许我们...
在Java中,我们可以使用JDBC API来调用Oracle存储过程并处理返回的Out游标。`OracleProcedure.java`文件应该包含了这样的代码。以下是一个简单的示例: ```java CallableStatement cs = connection.prepareCall("{ ...
Java调用Oracle存储过程是数据库操作中常见的任务,特别是在企业级应用开发中。Oracle存储过程是一种在数据库中预编译的SQL和PL/SQL代码集合,可以提高性能、封装复杂逻辑,并提供更好的安全性。以下是对Java调用...
总结起来,Java调用Oracle存储过程涉及到JDBC、数据库连接管理、CallableStatement的使用以及可能的自定义类型转换。通过合理运用这些技术,开发者可以高效地在Java应用中集成和利用Oracle数据库的功能。
在Java编程中,有时我们需要调用Oracle数据库的存储过程,特别是当存储过程返回一个游标(Cursor)时,这种情况在处理大量数据或者分页查询时很常见。游标允许我们逐行处理结果集,而无需一次性加载所有数据,这对于...
本文将从 Oracle 存储过程的基础知识开始,逐步深入到 Oracle 存储过程的高级应用,包括 Hibernate 调用 Oracle 存储过程和 Java 调用 Oracle 存储过程的方法。 Oracle 存储过程基础知识 Oracle 存储过程是 Oracle...