1.调用函数

CallableStatement cs=con.prepareCall("{?=call get_pname(?,?,?)}");

第一个?表示返回的值,后面的?可以是输入参数,也可以是输出参数。

第一个?是返回参数,所以必须有语句:

connection.registerOutParameter(1, Types.VARCHAR);(Types.varchar是类型)

后面的?如果是输出参数,应该也加上registerOutParameter语句:

connection.registerOutParameter(2, Types.VARCHAR);(2是第2个占位符,Types.varchar是类型)
     最后打印输出的结果:

System.out.println(cs.getString(1)); (1是对应输出参数,第一个输出参数)

2.调用存储过程

    CallableStatement cs=con.prepareCall("{call stu_pro(?,?,?)}");(与函数的区别是:没有?=)
     java程序中要打印调用过程获得的值,需调用有输出参数的存储过程,用法和调用函数一样。

  public void getDealmainNo() {try {conn = C3P0XmlSimplify.getInstance().getConnection();/*  ?=call getDealmainNo(?,?);*  第一个问号(?) 代表输入值,但要制定输入类型:callableStatement.registerOutParameter(1, Types.VARCHAR);*  第二个问号(?) 代表输入值,通过callableStatement.setString()方法类制定入参的类型 ;*  。。。。。。。* */callableStatement = conn.prepareCall("{?=call getDealmainNo(?,?)}");callableStatement.registerOutParameter(1, Types.VARCHAR);callableStatement.setString(2, "2018-01-09");callableStatement.setString(3, "IBO");callableStatement.execute();String string = callableStatement.getString(1);System.out.println(string);} catch (Exception e) {e.printStackTrace();}finally {C3P0XmlSimplify.releaseSources(conn);}}

转载于:https://www.cnblogs.com/linbo3168/p/8253076.html

java 调用 oracle的function 和 procedure相关推荐

  1. Java调用Oracle存储Package

    Oracle的包Package中可以有很多存储,可通过该包的总调入口在java中直接调用. //java调用oracle的package代码 public boolean cal() throws j ...

  2. java调用oracle过程,JAVA调用ORACLE存储过程报错

    当前位置:我的异常网» Java Web开发 » JAVA调用ORACLE存储过程报错 JAVA调用ORACLE存储过程报错 www.myexceptions.net  网友分享于:2015-07-1 ...

  3. Java 调用 Oracle 存储过程返回结果集

    1. 建立 ref cursor 类型和过程 Sql代码 CREATE OR REPLACE PACKAGE types AS TYPE ref_cursor IS REF CURSOR; END; ...

  4. Java 调用Oracle的存储过程

    2019独角兽企业重金招聘Python工程师标准>>> 1.创建存储过程的语句: 1.表结构:①:create table TESTA(A_ID VARCHAR2(10) not n ...

  5. java调用oracle的函数,从Java调用Oracle函数

    我有以下功能规格: FUNCTION FUNC_GET_SOMETHING_FROM_DATABASE ( IN_parameter1 IN VARCHAR2, IN_parameter2 IN VA ...

  6. java调用oracle存储过程_做一点,记一点 ~ Java调用Oracle存储过程

    一.需求 传入一个参数,返回一条或多条记录(列表). 二.实现步骤 1. 编写Oracle存储过程. -- 声明包和包体的语句应该分两次执行,即使声明在前定义在后,如果一起执行依然会编译出错 --调用 ...

  7. java调用oracle存储过程_java调用oracle存储过程详解

    之前给大家介绍了java代码调用存储过程,下面要给大家介绍的就是java当中调用oracle存储过程,一起来看看吧. 首先来看一下项目结构: 在数据库创建存储过程的脚本,假如,使用的是本地的oracl ...

  8. java 调用存储过程structdescriptor,Java调用oracle存储过程,集合入参的正确姿势

    这是我工作之前遇到的一个需求,Java调用存储过程,入参是集合.踩了一些坑,决定写个干货,和大家分享下. 项目使用的oracle版本: com.oracle ojdbc6 11.2.0.1.0 sys ...

  9. 用java调用oracle存储过程和函数

    创建测试用表: CREATE TABLE USER (    I_ID   VARCHAR(50) NOT NULL,    I_NAME VARCHAR(50) NOT NULL ); 一:无返回值 ...

  10. 用java调用oracle存储过程总结

    1.什么是存储过程.存储过程是数据库服务器端的一段程序,它有两种类型.一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返回给客户.另一种类似于INSERT或DELETE查询,它 ...

最新文章

  1. undefined reference to `libiconv_open 无法编译PHP libiconv
  2. l麒麟安装oracle,中标麒麟5.8x64下64bitOracle11gR2安装配置手册.docx
  3. UPS技术的“前世今生”【基础篇.PPT】
  4. 去除C++中string前面和后面的空白符
  5. 通信人,请不要吝啬举手之劳
  6. 台电+android+电话,通话系统_台电 G17s_平板电脑评测-中关村在线
  7. css图片等比例裁剪
  8. 会议通知|2019暑期全国高校Python数据分析与实训课程高级研修班
  9. java编程应该要的英语_java编程中常用英语单词
  10. zabbix学习笔记(1)
  11. spring框架Annotation之CRUD
  12. 最全面的Nginx工作原理讲解,Nginx学习笔记——来自动力节点
  13. mac 打开虚拟机之后,原MAC没有声音解决方法
  14. 数学分析 函数项级数(第13章)
  15. 开发游戏十年,遭遇游戏开发史上最诡异事件,然而被我成功解决了!
  16. 使用python做手机app后台
  17. 华为惠普入局挑战思科 中国企业网络市场混战
  18. 新手必看:蓝牙耳机什么牌子的好用?2023年蓝牙耳机排名
  19. Cesium中gltf模型的坐标系
  20. SQLyog 最新版本12.5-64bit 完美破解,亲测可用!

热门文章

  1. “37岁,985毕业,年薪50万,被裁掉只用了10分钟”
  2. 刺激!我31岁敲代码10年,明天退休!
  3. SSH框架微服务改进实战
  4. 推荐几个不错的技术公众号
  5. python帮助文件如何设为中文_如何使用Python将.CHM帮助文件存储为文本?
  6. java 并发编程实战代码_「Java并发编程实战」对象的组合
  7. IDEA 显示Run Dashboard窗口的2种方式
  8. 【题解】Luogu P2157 [SDOI2009]学校食堂
  9. POJ 2104 K-th Number (区间第k大)
  10. 4月18日会议总结(整理—祁子梁)