如何在ORACLE中使用JAVA存储过程

如题所述

比如下面写的是Oracle的一个存储过程:
create or replace procedure queryempinfo(eno in number,
pename out varchar2,
psal out number,
pjob out varchar2)
as
begin
--得到该员工的姓名 月薪和职位
select ename, sal, job into pename, psal, pjob from emp where empno = eno;
end;

Java调用Oracle的存储过程
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url, username, password);
stat = conn.prepareCall(sql);

// 一个输入参数和三个输出参数
stat.setInt(1, 7566);
stat.registerOutParameter(2, OracleTypes.VARCHAR);
stat.registerOutParameter(3, OracleTypes.NUMBER);
stat.registerOutParameter(4, OracleTypes.VARCHAR);
stat.execute();

String name = stat.getString(2);
int sal = stat.getInt(3);
String job = stat.getString(4);

System.out.println("name: " + name + ", sal: " + sal + ", job: " + job);

} catch (Exception e) {
e.printStackTrace();
} finally {
close(conn, stat, rs);
}
温馨提示:内容为网友见解,仅供参考
无其他回答

如何在Oracle中使用Java存储过程
SQL> execute testjavaproc; It's a Java Oracle procedure.3. 我推荐的一种方法,直接使用loadjava命令远程装载并创建。先创建一个类, e.g.import java.sql.*; import oracle.jdbc.*; public class OracleJavaProc { \/\/Add a salgrade to the database. public static void addSa...

如何在Oracle数据库中使用Java存储过程
SQL> create or replace directory test_dir as d:\\oracle ;目录已创建 SQL> create or replace java class using bfile(test_dir OracleJavaProc CLASS )\/ Java 已创建 SQL> create or replace procedure testjavaproc as language java name OracleJavaProc main(java lang String[]) ;\/ 过程已...

如何在ORACLE中使用JAVA存储过程
create or replace procedure queryempinfo(eno in number,pename out varchar2,psal out number,pjob out varchar2)as begin --得到该员工的姓名 月薪和职位 select ename, sal, job into pename, psal, pjob from emp where empno = eno;end;Java调用Oracle的存储过程 try { Class.forName(...

在java中怎么调用oracle的存储过程
java下实现调用oracle的存储过程和函数 在oracle下创建一个test的账户,然后按一下步骤执行:1.创建表:STOCK_PRICES --创建表格 CREATE TABLE STOCK_PRICES(RIC VARCHAR(6) PRIMARY KEY,PRICE NUMBER(7,2),UPDATED DATE );2.插入测试数据:--插入数据 INSERT INTO stock_prices values('1111',1.0...

求java调用oracle存储过程
一:无返回值的存储过程 存储过程为:CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS BEGIN INSERT INTO HYQ.B_ID (I_ID,I_NAME) VALUES (PARA1, PARA2);END TESTA;然后呢,在java里调用时就用下面的代码:package com.hyq.src;import java.sql.*;import java...

求使用Java编写oracle的存储过程
1.有安全限制,毕竟是在oracle内部运行的,不允许访问操作系统的资源,如文件。2.获取数据库联接方式,connection = new OracleDriver().defaultConnection();3.System.out,System.err,System.in等输入输出有所不同。可以利用某些命令重定向。下面是用Java source写一个存储过程和函数的例子。1.在plsql...

JAVA调用存储过程,Oracle自定义类型作参数怎么写法
(1) 在Oracle中定义数组类型idArray (2) 在java构造数组并转换成Oracle中定义的数组类型,调用存储过程 \/** * 当要删除图书时,检查是否仍然有图书复本处于借出状态 *\/ public boolean checkBookStatus(String[] bookIds) throws DataAccessException { boolean flag = false; Connection conn = ...

java程序在调用oracle的存储过程时 能不能传入一个数组
在存储过程中使用自定义类型NESTEDARRAY。PROCEDURE GET_ARR_RESULT(INPUTARRAY IN NESTEDARRAY, AR OUT NESTEDARRAY) IS BEGIN AR := NESTEDARRAY();FOR I IN 1 .. INPUTARRAY.COUNT LOOP AR.EXTEND;AR(I) := I|| INPUTARRAY(I);END LOOP;END GET_ARR_RESULT;Java代码:import java.sql....

java字符串数组作为参数传递oracle存储过程
用字符串传。先组成一个字符串,比如多个值之间用逗号分隔开,传进去之后再按照分隔符分成数组,应该是一个办法。

JavaJDBC连接Oracle实现对数据库增删改变做存储过程调用。 怎么做啊...
一个用来处理逻辑操作,一个用来增加,修改界面,一个用来处理增加,修改逻辑。主界面类用3个panle,北,中,南,上面放查询控件,查询按钮,中间放table,下面放其他按钮。将主界面类作为逻辑处理操作类的一个属性。让他能访问到主界面类中相应的控件。写上对于的控件事件出来就可以了。

相似回答