您的位置:首页 > 编程语言 > Java开发

java oralce 存储过程无返回值(学习一)

2012-07-25 11:35 253 查看
最近突燃 想到 学习一下存储过程,因为往往 在面试过程中好多面试官 都会问到这个问题,所以在这里一边从网上找例子(大多数例子运行不起来(可能是我的原因))

好了废话不多说了 先来无返回值的存储过程

首先 建存储过程 在pl sql 中 执行以下代码

create or replace procedure TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2)

AS

BEGIN

INSERT INTO TESTTB(I_ID,I_NAME) VALUES (PARA1, PARA2);

END TESTA;

当然 在上述执行代码之前 必须新建一个数据库表TESTTB 字段有I_ID,I_NAME两个字段

以上操作完成之后 写java 类 代码如下

import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class TestProcedureOne {

public TestProcedureOne() {

}

public static void main(String[] args ){

String driver = "oracle.jdbc.driver.OracleDriver";

String strUrl = "jdbc:oracle:thin:@192.168.0.200:1521: orcl ";

Statement stmt = null;

ResultSet rs = null;

Connection conn = null;

CallableStatement cstmt = null;

try {

Class.forName(driver);

conn = DriverManager.getConnection(strUrl, " hn628 ", " 123456 ");

CallableStatement proc = null;

proc = conn.prepareCall("{ call TESTA(?,?) }");

proc.setInt(1, 100);

proc.setString(2, "TestOne");

proc.execute();

}

catch (SQLException ex2) {

ex2.printStackTrace();

}

catch (Exception ex2) {

ex2.printStackTrace();

}

finally{

try {

if(rs != null){

rs.close();

if(stmt!=null){

stmt.close();

}

if(conn!=null){

conn.close();

}

}

}

catch (SQLException ex1) {

}

}

}

}

运行 经过测试 成功
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: