jdbc中调用oracle函数

JDBC调用Oracle函数的步骤及其完整代码 步骤1: 在eclipse或myeclipse创建Java项目; 步骤2: 获取jar包,将加载到项目中。 存储空间\app\OracleWorkSapce\product\11.2.0\dbhome_1\jdbc\lib,选择 “ojdbc6_g.jar”,将其复制到eclipse的项目的lib中,然后选中 ,右键——>选择 Build Path ——>Configure Build Path... 步骤3: Java代码如下: package cn.itca... 阅读详情

1、创建表

 create table stud(
 sid int,
 sname varchar2(50),
 age number,
 score number(4,2))
并插入一些数据(自己手动插入一些吧)
2、创建函数

create or replace function fun_getScores(
       v_age in stud.age%type
)
return number
is
       v_score number;
begin
      
       select sum(score) into v_score from stud where age > v_age;
       return v_score;
      
--异常处理
exception
       when others then
       dbms_output.put_line(sqlcode||sqlerrm);
       return -1;
end;
3、jdbc中调用


import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Types;


public class TestFun {


 public void test(){

 


  Connection con = null;
  Statement st = null;
  ResultSet rs = null;
  CallableStatement cst = null;
  try{
   Class.forName("oracle.jdbc.driver.OracleDriver");
   //下面的tan是数据库名,默认是orcl,love是访问密码,默认是tiger,
          //1521是端口号,默认是1521
   con = DriverManager.getConnection

("jdbc:oracle:thin:@192.168.1.103:1521:tan","scott","love");
   String sql =  "{? = call fun_getScores(?)}";
   cst = con.prepareCall(sql);
   cst.registerOutParameter(1, Types.NUMERIC);
   cst.setDouble(2, 2);
   cst.execute();
   double result = cst.getDouble(1);
   
   System.out.println("年龄超过2岁学生的成绩总和 "+result);
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   try{
    if(rs !=null){
     rs.close();
    }
    if(st!=null){
     st.close();
    }
    if(cst != null){
     cst.close();
    }
    if(con != null){
     con.close();
    }
   }catch(Exception e){
    e.printStackTrace();
   }
  }

 


 }

 

 

 

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  TestFun tf = new TestFun();
  tf.test();
 }

 

}

 

 

 

 

 

 

 

 

jdbc调用存储过程 函数例子 立即下载

相关推荐

Android 默认授予所有应用权限以及特殊权限处理

PackageManagerService作为android的主要系统服务之一,包含处理应用权限相关的职责。源码地址如下:在PMS成功启动时并收到回掉systemReady回进行应用权限授予。DefaultPermissionGrantPolicy为权限处理策略管理类。这里并没有赋予所有系统应用权限,所以当进行应用时还是会显示权限检查的弹框。可通过此方法进行所有应用权限赋予:如果不想所有应用都授予权限,可考虑在system/etc下的权限相关xml文件添加应用包名和所需权限。

Jimmy的专栏 1510

jdbc调用oracle function返回结果集

申明oracle函数,及其结果集结构结果集必须为全局的、table of 不能用index byCREATE OR REPLACE TYPE EMPARRAY is object (corporationId number);CREATE OR REPLACE TYPE EMPARRAY2 is table of EMPARRAY; create or replace fu

迈向java时代,迎接Agent的到来 1942

当图像配准遇见边缘计算:低功耗设备的优化实践

本文探讨了在边缘计算环境下优化图像配准技术的实践方法,重点解决低功耗设备如树莓派和Jetson Nano上的算力瓶颈问题。通过算法轻量化、硬件加速和内存优化等策略,实现了毫秒级图像配准,适用于智能安防、移动医疗等实时性要求高的场景。

weixin_29054195的博客 388

【javaweb笔记】5、JDBC调用存储过程与存储函数,处理大文本CLOB(TEXT)与二进制BLOB类型数据,JSP访问数据库,JavaBean

1.jdbc总结(模板、八股文): try{ a.导入驱动包、加载具体驱动类Class.forName("具体驱动类"); b.与数据库建立连接connection = DriverManager.getConnection(...); c.通过connection,获取操作数据库的对象(Statement\preparedStatement\callablestatement) stmt = ...

瓦刀 620

RK3576开发板ROS2部署实战:从Buildroot配置到Hello World Demo

本文详细介绍了在RK3576开发板上部署ROS2的完整实战流程。从Buildroot工程配置、集成ROS2依赖,到搭建Docker交叉编译环境、处理编译难题,最终完成系统镜像打包并在板端成功运行Talker-Listener Demo。该指南旨在帮助开发者深入理解嵌入式机器人系统的构建链,实现从底层到应用的完全掌控。

mac99的博客 1158

RT-Thread与ROS2通信:micro-ROS在STM32上的移植实践

本文详细介绍了在STM32平台上使用RT-Thread实时操作系统移植micro-ROS实现与ROS2通信的实践方案。通过对比rosserial方案,重点阐述了micro-ROS基于XRCE-DDS协议栈在数据可靠性(丢包率低于1%)、双模式通信(UDP/串口)以及C/C++混合编程方面的优势,为嵌入式设备与ROS2的高效通信提供了完整解决方案。

emacs5lisp的博客 330

Spring JdbcTemplate 与原生 JDBC 调用 Oracle 存储过程/存储函数,Oracle Java 驱动下载

目录 前 言 调用无返回值的存储过程 调用单个返回值的存储过程 调用多个返回值的存储过程 前 言 1、关于 JdbcTemplate 的介绍、pom 依赖、DI 注入可以参考《Spring JdbcTemplate 模板剖析 之 常用 增删改查》,本文继续介绍 JdbcTemplate 调用数据库的存储过程,虽然 Mysql 也有存储过程,但是为了尽可能的多覆盖一点,本文选择调用 .........

蚩尤后裔-汪茂雄 7180

2026年紫光同创数字IC笔试试卷带答案

FPGA基础知识与设计要点摘要 本文围绕FPGA与数字IC设计核心概念,通过单选题、波形分析题、多选题和简答题形式,系统梳理了以下关键知识点: FPGA基础架构 查找表(LUT)是实现组合逻辑的基本单元(题1) CLB包含LUT、触发器和进位链,后者加速算术运算(题6,10) 布局布线优化是减少关键路径延迟的核心方法(题7) 时序分析要点 建立时间(时钟沿前数据需稳定)与保持时间(时钟沿后需保持)的定义(题2,简答1) 亚稳态成因及两级同步器处理跨时钟域信号的方法(多选题1,波形题5) 特殊设计技术 异步复

Open 114

使用JDBC调用Oracle的函数详解

1.Oracle的函数 --练习:查询指定员工的年薪:(年薪=月收入*12+comm-奖金)(使用函数) create or replace function fun1(v_classid in varchar2) return number as --定义两个变量 v_salary classinfo.salary%TYPE; v_comm classinfo.comm%TYPE; begin --查询指定员工的月薪和奖金

Sir_viter的博客 708

2024届数字IC秋招-华为机试-数字芯片-笔试真题和答案(三)(含2022年和2023年)

此部分包含华为机试真题,方向是数字芯片,内容详细包括设计、验证、后端等,大部分题目给出参考答案。华为机试都是从题库里抽题目,所以这些题目还是很有参考性的,甚至是完全一样,可以搜到的。(题目内容较多,将分开编写几个文章)A.错误B.正确参考答案:BA.getB.try_getC.peekD.put参考答案:B。

qq_42135020的博客 1917

电路板保险丝如何选型

在电路板保险丝选型过程中,需要考虑多个因素以确保其适合特定的电路需求。最后,经过以上程序选定的样品需要在实际的电路中进行测试,以验证所选择的保险丝是否合适。

weixin_57010826的博客 1310

JDBC调用存储过程和函数

  JDBC调用存储过程和函数 在数据库中我们可以写一些存储过程和函数,来封装一些常用的SQL语句,存储过程和函数目的是为了可重复地执行操作数据库的sql语句的集合 返回值上: 存储过程的返回值,可以有多个值 函数的返回值,只有一个值 函数是可以嵌入在SQL中使用的,可以在SELECT等SQL语句中调用,而存储过程则不行。我们可以在数据库中创建一些常用的存储过程和函数,这样我们在数据访问...

许恒的博客 1486

从 Non-Unicode 到 Unicode:ABAP 程序切换的坑、原理与工程化落地指南

摘要 老SAP系统中ABAP程序员常假设1字符=1字节,导致大量代码依赖单字节处理逻辑。Unicode系统的引入彻底改变了字符长度、偏移量等底层认知,强制要求程序遵循Unicode规则。关键问题包括:字符/字节语义混淆、结构体访问风险、以及ABAP语言版本的门槛限制。迁移时需要重点关注字符串处理、二进制协议解析等场景,利用UCCHECK、RSUNISCAN_FINAL等工具扫描风险,并通过持续集成机制确保代码质量。建议在Non-Unicode阶段就启用unicode_check参数模拟严格模式,分批次修复问

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3458

JDBC调用Oracle函数详解

--在数据库中创建一个函数 create or replace function getavgsal (        --在括号中定义入参        v_dept in number ) --定义返回值类型为number类型,注意参数和返回值的类型不用写具体长度 return number --下面开始声明相关变量 is --声明变量来接收查询的结果 v_avgsal

wangchen2633的博客 1340

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jdbc oracle 函数,jdbc中调用oracle函数

1、创建表create table stud(sid int,sname varchar2(50),age number,score number(4,2))并插入一些数据(自己手动插入一些吧)2、创建函数create or replace function fun_getScores(v_age in stud.age%type)return numberisv_score number;beg...

weixin_34518190的博客 280

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

使用JDBC调用Oracle存储过程或存储函数

public static void main(String[] args){ /** * 调用程序包 * create or replace package p_index_statistic * as * function get_pic return varchar; --function get_pic() return varchar; 如果没有参数,则不需要添加参数列表的括号 * f

baidu_36720706的博客 620

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

oracle jdbc详解,使用JDBC调用Oracle的函数详解

1.Oracle的函数--练习:查询指定员工的年薪:(年薪=月收入*12+comm-奖金)(使用函数)create or replace function fun1(v_classid in varchar2)return numberas--定义两个变量v_salary classinfo.salary%TYPE;v_comm classinfo.comm%TYPE;begin--查询指定员工的...

weixin_30641597的博客 487

jdbc调用oracle存储过程和存储函数

--定义过程 create or replace procedure get_rax(salary in number,rax out number) as --需要交税的钱 bal number; begin bal := salary - 3500; if bal<=1500 then rax := bal * 0.03 - 0; els

fangmingzhmg的博客 573

java jdbc调用oracle的函数或过程返回SQL语句查询的结果集

开发工具:oracle 11g               netbean7.4 问题描述:java语句调用一个数据库函数返回一个查询的数据集; 解决方法:使用动态游标ref cursor解决 例子:   (1,2步在数据库执行,3在netbean中执行) 1.创建动态游标 create or replace package my_cursors  --my_cursors为程序包名,

u013628460的专栏 1441

Oracle 数据库 JDBC调用存储过程和存储函数

一 . Oracle 数据库 JDBC调用存储过程和存储函数 ojdbc:在中央仓库没有 需要手动安装 mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=E:\oracle\product\10.2.0\db_1\jdbc\...

LinkHashSet的博客 360

java如何调用oracle函数_Java中用JDBC调用Oracle存储过程和函数

Java中通过JDBC可以调用数据库提供的存储过程,Oracle中的存储过程分成2种:1.procedure: 没有返回值,但可以有多个输出参数,相Java中通过JDBC可以调用数据库提供的存储过程,Oracle中的存储过程分成2种:1.procedure: 没有返回值,但可以有多个输出参数,相当于返回值。2.function:有一个返回值,也可以有多个输出参数。Java中调用function的语...

weixin_28040125的博客 483

Java调用Oracle存储过程和函数(Mybatis+JDBC方式)

Java调用Oracle存储过程和函数(Mybatis+JDBC方式) 先创建一个通用的存储过程和函数,用于测试,都是通过传入一个部门编号,返回部门信息,这里返回部门信息使用ref游标的方式完成,具体代码如下: 创建一个数据包,并添加一个存储过程和函数 数据包的包声明部分 create or replace package pack_dept is procedure...

CDHong.it的技术分享博客 1275

Java实现使用JDBC调用Oracle的函数,报Exception in thread “main“ java.sql.SQLException: ORA-06550: 异常

1.说明 【区别:(1)调用Oracle存储过程;(2)调用Oracle函数】 之前在Java实现使用JDBC调用Oracle的存储过程时,也遇到了这个问题,然后使用之前调用Oracle存储过程的解决办法无法解决当前的问题,故只能寻找新的解决办法。 之前解决调用Oracle存储过程的解决方法:https://blog.youkuaiyun.com/Sir_viter/article/details/107212577 2.问题 Exception in thread "main" java.sql.S.

Sir_viter的博客 1121

Java 调用Oracle 函数

[b]oracle的存储过程和函数区别[/b] 1、都可以使用out参数返回多个值,一般原则是有多个返回值使用过程;如果只有一个返回值,使用函数 2、过程调用本身就是一条pl/sql语句,而函数只能作为表达式的一部分进行调用 以获得user_objects表的object_name为例,由于只返回一个字段,所以使用oracle函数,第一种方式返回标量数据类型,第二种方式返回游标类...

Here I Am 655

jdbc调用oracle 函数,传入String返回CURSOR

create or replace function open_sql_cursor (v_sql varchar2) return sys_refcursor is c sys_refcursor; begin open c for v_sql; return c; end;   JDBC调用代码 ResultSet rs1=null; C...

lifeneedyou的专栏 212

java 调用存储函数_Java中用JDBC调用Oracle存储过程和函数

Java中通过JDBC可以调用数据库提供的存储过程,Oracle中的存储过程分成2种:1.procedure: 没有返回值,但可以有多个输出参数,相当于返回值。2.function:有一个返回值,也可以有多个输出参数。Java中调用function的语法和调用procedure的不一样,调用procedure需要的特定语法为:{ call 存储过程名(参数1, 参数2,……) }在java中的写法...

weixin_32099703的博客 137
上一篇: jdbc中调用oracle 返回游标类型的存储过程
下一篇: 读《时间投资法》笔记1--10倍规则
东方友诚
博客等级 码龄18年 55粉丝 47原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值