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

    概念:用当地数据库语言,写的一段业务逻辑算法,并将该算法存储在客户端
        
        操作存储过程:
            CallableStatement接口==>专用于操作存储过程的接口。        
        
        SQL语句:
            1)删除存储过程add_pro
                DROP PROCEDURE [IF EXISTS] add_pro;
            2)将SQL语句的结束符号改为//,其它符号也行。
                 原因:存储过程的结束标志也是";", 若不区分会有二义性
                delimiter //
            3)用SQL语句求两者之和【out:代表返回值】

        CREATE PROCEDURE add_pro(a INT, b INT, OUT sum INT)
        BEGIN
        SET sum = a + b;
        END;


            4)调用存储过程
            语法: {CALL 存储过程名 (参数1, 参数2, ...)}
                
        code:
            1》SQL语句(创建存储过程):

     
                DROP PROCEDURE IF EXISTS add_pro;
                
                delimiter //
                
                CREATE PROCEDURE add_pro(a INT, b INT, OUT sum INT)
                BEGIN
                SET sum = a + b;
                END;
                //


                
            2》JAVA语句(调用存储过程):

                 //获得接口
                cstmt = conn.prepareCall(SqlMapping.CALL_SQL);//SQL语句:{CALL add_pro (?, ?, ?) }
                //绑定三个参数(前两个是输入,后一个是输出,需要注册。输入输出位置可变)
                cstmt.setInt(1, 100);
                cstmt.setInt(2, 200);
                //注册第三个参数为输出参数,其中Types.INTEGER表示SQL与JDBC之间的映射类型
                cstmt.registerOutParameter(3, Types.INTEGER);
                //调用存储过程
                cstmt.execute();
                //获取输出结果
                int sum = cstmt.getInt(3);
                System.out.println("sum = " + sum);    


        注意:
            1)使用存储过程需要用到CallableStatement接口,同时需要使用如下SQL命令调用:
                {CALL 存储过程名 (参数1, 参数2,...)}
            2)对于存储过程的输出参数,需要注册:
                cstmt.registerOutParameter(3, Types.INTEGER);
            4)取得返回值时,需要按照输出参数的位置来取

  • 相关阅读:
    使用tcmalloc编译启动时宕机
    使用tcmalloc编译出现undefined reference to `sem_init'
    使用AddressSanitizer做内存分析(一)——入门篇
    VIM-美化你的标签栏
    Entity Framework Code First (六)存储过程
    Entity Framework Code First (五)Fluent API
    Entity Framework Code First (四)Fluent API
    Entity Framework Code First (三)Data Annotations
    Entity Framework Code First (二)Custom Conventions
    Entity Framework Code First (一)Conventions
  • 原文地址:https://www.cnblogs.com/SkyGood/p/4011621.html
Copyright © 2011-2022 走看看