Oracle存储函数jdbc调用
package com.jckb.procedure; import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager; public class MainTest2 {
/**
* 存储函数plsql
create or replace function findEmpYearSal(pno in number,pname out varchar2,psal out number)
return number
as
pcomm emp.comm%type;
begin
select ename,sal,pcomm into pname,psal,pcomm from emp where empno=pno;
return psal*12+nvl(pcomm,0);
end; * */
public static void main(String[] args) {
//1、定义变量
String driverClass = "oracle.jdbc.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user = "scott";
String password = "tiger";
try{
Class.forName(driverClass);
//2、获取连接对象
Connection connection = DriverManager.getConnection(url, user, password);
//3、创建执行存储过程的语句对象
String sql = "{?=call findEmpYearSal(?,?,?)}";
CallableStatement callableStatement = connection.prepareCall(sql);
//4、设置参数
callableStatement.registerOutParameter(1, oracle.jdbc.OracleTypes.DOUBLE);
callableStatement.setInt(2, 7521);
callableStatement.registerOutParameter(3, oracle.jdbc.OracleTypes.VARCHAR);
callableStatement.registerOutParameter(4, oracle.jdbc.OracleTypes.NUMBER);
//5、执行
callableStatement.execute();
//6、获取数据
double yearSal = callableStatement.getDouble(1);
String ename = callableStatement.getString(3);
double sal = callableStatement.getDouble(4);
System.out.println("姓名:"+ename+" 员工工资:"+sal + "年薪:"+yearSal);
//7、释放资源
callableStatement.close();
connection.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
Oracle存储函数jdbc调用的更多相关文章
- Oracle存储函数,存储过程
一.Oracle存储函数:存储的PL/SQL语法块,完成特定的功能.1.语法: 函数关键字: function (1)创建函数 CREATE [OR REPLACE] FUNCTION <fun ...
- ORACLE 存储函数
前奏: 必要的概念: ORACLE 提供能够把 PL/SQL 程序存储在数据库中.并能够在不论什么地方来运行它.这样就叫存储过 程或函数. 过程和函数统称为 PL/SQL 子程序.他们是被命名的 PL ...
- oracle存储函数实例
CREATE OR REPLACE PROCEDURE "PROC_INS_DAY_DOCTOR_LL"(v_date in VARCHAR) is --PROC_INS_DAY_ ...
- oracle常用函数以及调用入参为record的存储过程的方法,
转自:http://www.cnblogs.com/zhangronghua/archive/2007/08/20/862812.html SQL中的单记录函数1.ASCII返回与指定的字符对应的十进 ...
- oracle创建函数和调用存储过程和调用函数的例子(区别)
创建函数: 格式:create or replace function func(参数 参数类型) Return number Is Begin --------业务逻辑--------- End; ...
- oracle 存储函数,更新库存
create procedure PRO_update_Goods_group_stock is v_min_stock , ); v_gg_stock , ); v_goods_no number; ...
- 编程开发之--Oracle数据库--存储过程和存储函数(2)
上一小结我们简单介绍了存储过程和存储函数,对存储过程和存储函数有了一个基本的了解,接下来介绍在java程序中如何调用我们创建的存储过程和存储函数 1.在应用程序中调用我们的存储过程 创建一个简单的Ja ...
- Oracle学习(十二):存储过程/存储函数
1.知识点 --第一个存储过程 /* 打印Hello World create [or replace] PROCEDURE 过程名(參数列表) AS PLSQL子程序体: 调用存储过程: 1. ex ...
- Oracle的基本语法,存储函数及触发器
1.PL/SQL PL/SQL是Oracle对 ql语言的过程化扩展,指在 SQL 命令语言中增加了过程处理语句,使SQL语言具有过程处理能力.把 SQL 语言的数据操纵能 力与过程语言的数据 ...
随机推荐
- nodejs利用windows API读取文件属性(dll)
nodejs调用delphi编写的dll中,使用了dll调用windows api转读取文件属性,感觉使用nodejs也可直接调用windows api. 此处需用到windows系统的version ...
- kvm ip查看
1.virsh --list(查看有哪些服务器) 2.virsh dumpxml 虚拟机名称 查看服务器对应的mac地址 3.然后再宿主机上arp -a 查看对应的mac地址对应的ip
- [51nod1116]K进制下的大数
解题关键:$A\% (k - 1) = (A[0] + A[1]*k + A[2]*{k^2} + ...A[n]*{k^n})\% (k - 1) = (A[0] + A[1] + ...A[n]) ...
- Luogu 3312 [SDOI2014]数表
在这一篇里把所有的套路写全方便自己之后复习. 首先是一个小学生数学:$a$整除$b$ $ = $ $\frac{b}{a}$ 也就是说这题中格子$(i, j)$的值就是既能被$i$整除又能被$j$整 ...
- 28.【转载】挖洞技巧:APP手势密码绕过思路总结
说到APP手势密码绕过的问题,大家可能有些从来没接触过,或者接触过,但是思路也就停留在那几个点上,这里我总结了我这1年来白帽子生涯当中所挖掘的关于这方面的思路,有些是网上已经有的,有些是我自己不断摸索 ...
- UVa 11020 Efficient Solutions (BST)
题意:给按顺序给定 n 个人群,用x和y来描述,如果有没有任何一个x' < x y' <= y 或 x '<= x y' <= y,那么这个群体就是优势群体, 让你求出每放入一 ...
- select下拉框如何与接口配合动态生成option选项
前几天在做任务时考虑到这个问题,具体任务用例如下: HTML: JS:
- AOP常用注解
1.@Aspect 配置切面Bean,和<bean.../>元素进行配置无区别,一样支持依赖注入来配置属性值: 如果启动了Spring的"零配置"特性,一样可以让Spr ...
- burpsuite 抓HTTPS数据包
抓HTTPS数据包 导出保存为cer证书文件,导入到受信任的根证书颁发机构 设置代理服务器与burp中proxy listeners保持一致 设置目标url 抓包 可用repeater发请求
- [Xcode 实际操作]三、视图控制器-(4)使用UINavigationController导航栏和工具栏
目录:[Swift]Xcode实际操作 本文将演示如何显示和隐藏导航视图的导航栏和工具栏 打开第一个视图控制器 import UIKit class FirstSubViewController: U ...