`
java-mans
  • 浏览: 11428078 次
文章分类
社区版块
存档分类
最新评论

oracle使用带有输入和输出参数的存储过程

 
阅读更多

使用存储过程个人觉得还是有点麻烦的,一个不小心就出现什么参数错误,个人建议如果能少使用就少使用。这里我想用jdbc的方式给大家交流下我自己写的一个比较简单的存储过程。至于用框架写的我暂时还没有研究出来。过几天会补全给大家的。

1.先来写一个带有输入和输出参数的存储过程

create or replace procedure xxx(
     newfid In Number,
     newfname Out Varchar
)
As
begin
Select fname Into newfname From m_student Where fid=newfid;
end;


这里需要注意varchar不能写成varchar2,否则会出现输入和输出参数不匹配的异常

2.使用jdbc执行存储过程

package org.lxh;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;

import oracle.jdbc.OracleCallableStatement;

public class TestUse {

	public static void main(String[] args) throws Exception {

		DBConnection con = new DBConnection();
		Connection getConn = con.getConnection();
		OracleCallableStatement cs = (OracleCallableStatement)getConn.prepareCall("{call xxx(newfid => :newfid,newfname => :newfname)}");
		cs.setInt(1, 365);
		cs.registerOutParameter(2, java.sql.Types.VARCHAR);
		
		cs.execute();

		String strAge = cs.getString(2);
		System.out.println("fid是:" + strAge);

		getConn.close();

	}

}


OracleCallableStatement可以写成CallableStatement,输入参数不需要注册,但是输出参数需要注册,最要注意的就是数据类型了否则也会出错

分享到:
评论

相关推荐

    C#调用oracle方法(包括调用存储过程)

    详细的记录了C#如何调用oracle以及带有存储过程输出变量的方法,适合初学者。

    Oracle带输入输出参数存储过程(包括sql分页功能)

    begin /*这里不能直接执行select语句但可以直接执行update、delete、insert语句*/ end里面不能接执行select语句,声明会话级临时表必须有“execute immediate 'TRUNCATE TABLE 表名';”这一句不然其他的session无法...

    oracle定义存储过程

    这个文档对初学者来说是非常实用的,简单思路清晰,这里包括了 定义存储过程、调用带有输入输出参数的存储过程、存储过程异常处理、存储过程中事务处理的例子,很直观,

    C#调用存储过程详解(带返回值、参数输入输出等)

    主要介绍了C#调用存储过程的方法,结合实例形式详细分析了各种常用的存储过程调用方法,包括带返回值、参数输入输出等,需要的朋友可以参考下

    Java调用oracle存储过程

    存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。...

    Oracle Database 11g初学者指南--详细书签版

    CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Oracle Database 11g初学者指南 基本信息 原书名: Oracle Database 11g, A Beginner's Guide 原出版社: ...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    Oracle8i_9i数据库基础

    第十六章 存储过程和函数 276 §16.1 引言 276 §16.2 存储过程 276 §16.2.1 创建过程 276 §16.2.2 使用过程 278 §16.2.3 开发存储过程步骤 279 §16.2.3.1 编辑存储过程源码 279 §16.2.3.2 对存储过程程序进行...

    韩顺平oracle学习笔记

    是安装oracle时起的名字各有不同)和OracleOracleHome90TNSLlistener 4.卸载oracle 1、先关掉oralce,net stop OracleServiceORCL(ORCL是我的实例名字,换成你的),或者去我的电脑服务中关闭 2、开始,,程序,,...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《Oracle SQL高级编程》的源代码 对应的书籍资料见: Oracle SQL高级编程(资深Oracle专家力作,...

    oracle实验报告

    (1) 了解Oracle的工作环境和基本使用方法。 (2) 练习标准SQL的数据操作,查询命令及其查询优化。 (3) 学会使用高级SQL命令,排序、分组、自连接查询等。 (4) 学会使用SQL*PLUS命令显示报表,存储到文件等。 【实验...

    ORACLE9i_优化设计与系统调整

    第一部分 ORACLE系统优化基本知识 23 第1章 ORACLE结构回顾 23 §1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),...

    Object Browser7.0中文版(ORACLE数据库的开发工具)

    输出的方式也有很多,比如将多个对象的定义输出成一个文件,输出不带用户名的对象定义,输出表时将数据输出成INSERT语句的形式等等.您使用这些机能,可以很方便的把现有的数据库系统移植到别的环境上,也可以起到备份的...

    ORACLE重建索引总结

    使用带有coalesce参数时重建期间不需要额外空间,它只是在重建索引时将处于同一个索引分支内的叶块拼合起来,这最大限度的减少了与查询过程中相关的潜在的加锁问题,但是,coalesce选项不能用来将一个索引转移到其他...

    oracle数据库经典题目

    5.Where子句可以接收From子句输出的数据,而HAVING子句则可以接收来自WHERE、FROM或GROUP BY子句的输入。 6.在SQL语句中,用于向表中插入数据的语句是Insert。 7.如果需要向表中插入一批已经存在的数据,可以在...

    jdbc连接数据库的方式2

     在调用存储过程时,我们可以使用SQL92或Oracle PL/SQL,由于使用Oracle PL/SQL并没有什么实际的好处,而且会给以后维护你的应用程序的开发人员带来麻烦,因此,我建议在调用存储过程时使用SQL92。  9、使用Object...

    Oracle事例

    20.oracle8中扩充了group by rollup和cube的操作。有时候省了你好多功夫的。 下面的语句可以进行总计 select region_code,count(*) from aicbs.acc_woff_notify group by rollup(region_code); <2> 对第1个字段...

    数据库基础

    第十六章 存储过程和函数 276 §16.1 引言 276 §16.2 存储过程 276 §16.2.1 创建过程 276 §16.2.2 使用过程 278 §16.2.3 开发存储过程步骤 279 §16.2.3.1 编辑存储过程源码 279 §16.2.3.2 对存储过程程序进行...

Global site tag (gtag.js) - Google Analytics