zoukankan      html  css  js  c++  java
  • JAVA调用oracle存储过程实例

    1、创建添加存储过程

    CREATEORREPLACEPROCEDURE stu_proc(v_id INNUMBER, v_name INVARCHAR2, v_age INNUMBER) AS
    BEGIN
    INSERTINTO student(id, sname, age) values (v_id, v_name, v_age);
    commit;
    END;

         

    JAVA调用添加存储过程

    复制代码
    package com.ljq.test;

    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.SQLException;

    publicclass ProceTest {

    public static void main(String[] args) throws Exception {
    Connection conn
    =null;
    CallableStatement statement
    =null;
    String sql
    ="{call stu_proc(?, ?, ?)}";
    try {
    conn
    = ConnUtils.getConnection();
    statement
    = conn.prepareCall(sql);
    statement.setInt(
    1, 6);
    statement.setString(
    2, "laoli");
    statement.setInt(
    3, 45);
    //如果第一个结果是ResultSet对象,则返回true;如果第一个结果是更新、添加、修改或者没有结果,则返回 false
    boolean issuccess=statement.execute();
    //成功返回true,失败返回false
    System.out.println(issuccess);
    }
    catch (SQLException e) {
    e.printStackTrace();
    }
    finally {
    ConnUtils.free(
    null, statement, conn);
    }
    }

    }
    复制代码

                

    创建删除存储过程语句

    复制代码
    CREATEORREPLACEPROCEDURE stu_proc(v_id INNUMBER, v_msg OUT VARCHAR2) IS
    v_flag
    NUMBER:=1;
    BEGIN
    SELECT o.id INTO v_flag FROM student o WHERE o.id=v_id;
    DELETEFROM student o WHERE o.id=v_flag;
    commit;
    v_msg:
    ='删除成功';
    EXCEPTION
    WHEN OTHERS THEN v_msg:='删除失败';
    END;
    复制代码

    java调用删除存储过程

    复制代码
    package com.ljq.test;

    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Types;

    publicclass ProceTest {

    public static void main(String[] args) throws Exception {
    Connection conn
    =null;
    CallableStatement statement
    =null;
    String sql
    ="{call stu_proc(?, ?)}";
    try {
    conn
    = ConnUtils.getConnection();
    statement
    = conn.prepareCall(sql);
    statement.setInt(
    1, 4);
    statement.registerOutParameter(
    2, Types.VARCHAR);
    statement.execute();
    String msg
    =statement.getString(2);
    System.out.println(msg);
    }
    catch (SQLException e) {
    e.printStackTrace();
    }
    finally {
    ConnUtils.free(
    null, statement, conn);
    }
    }

    }
    复制代码

              

    创建修改存储过程

    复制代码
    CREATEORREPLACEPROCEDURE stu_proc
    (
    v_id
    INNUMBER,
    v_name
    INVARCHAR2,
    v_msg OUT
    VARCHAR2
    )
    AS
    v_flag
    number;
    BEGIN
    SELECT o.id INTO v_flag FROM student o WHERE o.id=v_id;
    UPDATE student o SET o.sname=v_name WHERE o.id=v_id;
    commit;
    v_msg:
    ='修改成功';
    EXCEPTION
    WHEN OTHERS THEN v_msg:='修改失败';
    END;
    复制代码

             

    java调用修改存储过程

    复制代码
    package com.ljq.test;

    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Types;

    publicclass ProceTest {

    public static void main(String[] args) throws Exception {
    Connection conn
    =null;
    CallableStatement statement
    =null;
    String sql
    ="{call stu_proc(?, ?, ?)}";
    try {
    conn
    = ConnUtils.getConnection();
    statement
    = conn.prepareCall(sql);
    statement.setInt(
    1, 3);
    statement.setString(
    2, "laoli");
    statement.registerOutParameter(
    3, Types.VARCHAR);
    statement.execute();
    String msg
    =statement.getString(3);
    System.out.println(msg);
    }
    catch (SQLException e) {
    e.printStackTrace();
    }
    finally {
    ConnUtils.free(
    null, statement, conn);
    }
    }

    }
  • 相关阅读:
    《如何评价Kaiming He的Momentum Contrast for Unsupervised?》
    多伦多大学&NVIDIA最新成果:图像标注速度提升10倍!
    GitHub超全机器学习工程师成长路线图,开源两日收获3700+Star!
    上Github,北大、清华、浙大、中科大4大名校课程在线学,加星总数超1.8万
    使用Python+OpenCV进行图像处理(二)| 视觉入门
    重磅!刷新两项世界纪录的腾讯优图人脸检测算法DSFD开源了!
    巴黎不哭!十亿数据精准扫描,帮卡西莫多重新找回他的玫瑰花窗
    机器学习算法系列:FM分解机
    百道Python面试题实现,搞定Python编程就靠它
    学习GAN必须阅读的10篇论文
  • 原文地址:https://www.cnblogs.com/shaohz2014/p/3713411.html
Copyright © 2011-2022 走看看