zoukankan      html  css  js  c++  java
  • 存储过程

    存储过程用于执行特定的操作,当建立存储过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分;通过使用输出参数,可以将执行部分的数据传递到应用环境。在sqlplus中可以使用create procedure命令来建立过程。

    实例如下:
    1.请考虑编写一个存储过程,可以输入雇员名,新工资,用来修改雇员的工资

    --根据雇员名去修改工资
    CREATE PROCEDURE sp_update(uname VARCHAR2, newsal NUMBER) IS
    BEGIN
       update emp set sal=newsal where ename=uname;
    END;
    /

    2.如何调用存储过程有两种方法:exec、call

    --使用exec调用存储过程
    SQL> exec sp_update('zhangsan', 888);
    SQL> commit;

    3.如何在java程序中调用一个存储过程

     1 package junit.test;
     2 
     3 import java.sql.CallableStatement;
     4 import java.sql.Connection;
     5 import java.sql.DriverManager;
     6 
     7 /**
     8  * 演示java程序调用oracle的存储过程案例
     9  * 
    10  * @author jiqinlin
    11  *
    12  */
    13 public class ProcedureTest {
    14 
    15     public static void main(String[] args) {
    16 
    17         try {
    18             // 1.加载驱动
    19             Class.forName("oracle.jdbc.driver.OracleDriver");
    20             // 2.得到连接
    21             Connection ct = DriverManager.getConnection(
    22                     "jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "oracle");
    23 
    24             // 3.创建CallableStatement
    25             CallableStatement cs = ct.prepareCall("{call sp_update(?,?)}");
    26             // 4.给?赋值
    27             cs.setString(1, "SMITH");
    28             cs.setInt(2, 4444);
    29             // 5.执行
    30             cs.execute();
    31             // 关闭
    32             cs.close();
    33             ct.close();
    34         } catch (Exception e) {
    35             e.printStackTrace();
    36         }
    37     }
    38 }
  • 相关阅读:
    子类调用父类被重写的方法
    Linux下编译出现undefined reference to ‘pthread_create’问题解决
    CRC校验8
    嵌入式C语言查表法
    Static关键字,遇到的问题_1
    java中方法的参数传递机制_一个对象被当作参数传递到一个方法后
    String使用equals和==比较的区别
    如何导入XML数据 (python3.6.6区别于python2 环境)
    0xx_PHP核心01
    PHP_MVC设计模式02
  • 原文地址:https://www.cnblogs.com/wangfx91/p/4632449.html
Copyright © 2011-2022 走看看