首页>java频道>java教程>正文
Java JDBC调用Oracle存储过程

www.zige365.com 2010-6-7 10:55:47 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

Java JDBC调用Oracle存储过程一般有3种:

1.无返回值

2.有一个返回值

3.返回一个数据集,就是游标!

关键字:call 语法格式{call 存储过程名(参数列表)}

废话不说,见代码!

Java JDBC调用Oracle存储过程业务实例:

1.添加员工,如果指定部门不存在,则先添加部门信息,再添加员工(无返回值)

--创建存储过程如下  

  1. CREATE OR REPLACE PROCEDURE sp_add_emp1(      
  2.     v_empno emp.empno%TYPE,      
  3.     v_ename emp.ename%TYPE,      
  4.     v_deptno dept.deptno%TYPE,      
  5.     v_dname dept.dname%TYPE      
  6. )AS     
  7.     num1 NUMBER;      
  8.     num2 NUMBER;      
  9. BEGIN     
  10.    SELECT COUNT(*) INTO num1 FROM dept WHERE deptno=v_deptno;      
  11. IF(num1=0) THEN     
  12.    INSERT INTO dept(deptno,dname) VALUES(v_deptno,v_dname);      
  13. END IF;      
  14.    SELECT COUNT(*) INTO num2 FROM emp WHERE empno=v_empno;      
  15. IF(num2=0)THEN     
  16.    INSERT INTO emp(empno,ename,deptno) VALUES(v_empno,v_ename,v_deptno);      
  17. ELSE     
  18.     raise_application_error(-202021,'员工id 重复!!!');      
  19. END IF;      
  20.    commit;      
  21.      
  22. END;     
  23.  
  24. CREATE OR REPLACE PROCEDURE sp_add_emp1(  
  25.    v_empno emp.empno%TYPE,  
  26.    v_ename emp.ename%TYPE,  
  27.    v_deptno dept.deptno%TYPE,  
  28.    v_dname dept.dname%TYPE  
  29. )AS 
  30.    num1 NUMBER;  
  31.    num2 NUMBER;  
  32. BEGIN 
  33.    SELECT COUNT(*) INTO num1 FROM dept WHERE deptno=v_deptno;  
  34. IF(num1=0) THEN 
  35.    INSERT INTO dept(deptno,dname) VALUES(v_deptno,v_dname);  
  36. END IF;  
  37.    SELECT COUNT(*) INTO num2 FROM emp WHERE empno=v_empno;  
  38. IF(num2=0)THEN 
  39.    INSERT INTO emp(empno,ename,deptno) VALUES(v_empno,v_ename,v_deptno);  
  40. ELSE 
  41.    raise_application_error(-202021,'员工id 重复!!!');  
  42. END IF;  
  43.    commit;  
  44.  
  45. END

Java中调用代码1:

  1. Class.forName("oracle.jdbc.driver.OracleDriver"

    本新闻共6页,当前在第1页  1  2  3  4  5  6  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
几种如何减少JDBC连接池开销的方法
JSP JDBC来连接SQL Server 2005的方法
研究分析JDBC技术在数据库连接池上的应用
JDBC连接Sybase数据库的三种方法
JDBC数据源的几种形式