文档详情

ORACLE存储过程入门.doc

发布:2018-06-08约2.46万字共45页下载文档
文本预览下载声明
Java调用oracle存储过程总结 时间: 2010-10-15 / 分类: Java编程, Oracle / 浏览次数: 77 次 / 0个评论 发表评论 这段时间开始学习写存储过程,主要原因还是因为工作需要吧,本来以为很简单的,但几经挫折,豪气消磨殆尽,但总算搞通了,为了避免后来者少走弯路,特记述与此,同时亦对自己进行鼓励。 一:无返回值的存储过程 存储过程为: view source print? 1 CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2)? AS 2 ?? 3 BEGIN 4 ?? 5 ???INSERT INTO HYQ.B_ID (I_ID,I_NAME) VALUES (PARA1, PARA2); 6 ?? 7 END TESTA; 然后呢,在java里调用时就用下面的代码: view source print? 01 package com.hyq.src; 02 ?? 03 import java.sql.*; 04 import java.sql.ResultSet; 05 ?? 06 public class TestProcedureOne { 07 ?? 08 ??public TestProcedureOne() { 09 ?? 10 ??} 11 ?? 12 ??public static void main(String[] args ){ 13 ?? 14 ????String driver = oracle.jdbc.driver.OracleDriver; 15 ?? 16 ????String strUrl = jdbc:oracle:thin:@:1521: hyq ; 17 ?? 18 ????Statement stmt = null; 19 ?? 20 ????ResultSet rs = null; 21 ?? 22 ????Connection conn = null; 23 ?? 24 ????CallableStatement cstmt = null; 25 ?? 26 ????try { 27 ?? 28 ??????Class.forName(driver); 29 ?? 30 ??????conn =? DriverManager.getConnection(strUrl, hyq , hyq ); 31 ?? 32 ??????CallableStatement proc = null; 33 ?? 34 ??????proc = conn.prepareCall({ call HYQ.TESTA(?,?) }); 35 ?? 36 ??????proc.setString(1, 100); 37 ?? 38 ??????proc.setString(2, TestOne); 39 ?? 40 ??????proc.execute(); 41 ?? 42 ????} 43 ?? 44 ????catch (SQLException ex2) { 45 ?? 46 ??????ex2.printStackTrace(); 47 ?? 48 ????} 49 ?? 50 ????catch (Exception ex2) { 51 ?? 52 ??????ex2.printStackTrace(); 53 ?? 54 ????} 55 ?? 56 ????finally{ 57 ?? 58 ??????try { 59 ?? 60 ????????if(rs != null){ 61 ?? 62 ??????????rs.close(); 63 ?? 64 ??????????if(stmt!=null){ 65 ?? 66 ????????????stmt.close(); 67 ?? 68 ??????????} 69 ??????????if(conn!=null){ 70 ????????????conn.close(); 71 ??????????} 72 ????????} 73 ??????} 74 ??????catch (SQLException
显示全部
相似文档