如进仓时候,我有两张表:物料表+进仓记录表
这个时候就要在进仓记录表中插入数据并在物料表更新数量。我想写个存储过程,然后进行批量处理。
怎么做呢? O(∩_∩)O谢谢mysql 存储过程 批量处理

解决方案 »

  1.   

    你可以把数据写到缓存里,一次性更新。。
    当然也可以用jdbc挨个的更新。。
    工具类public final class JdbcUtils {  
        private static String url = "jdbc:mysql://127.0.0.1:3306/ssh?useUnicode=true&characterEncoding=GBK";  
        private static String user = "root";  
        private static String password = "123456";  
        private JdbcUtils(){  
              
        }  
          
        static{  
              
            try {  
                Class.forName("com.mysql.jdbc.Driver");  
            } catch (ClassNotFoundException e) {  
                throw new ExceptionInInitializerError(e);  
            }  
        }  
          
        public static Connection getConnection() throws SQLException{  
            return DriverManager.getConnection(url, user, password);  
        }  
          
        public static void free(ResultSet rs, Statement st, Connection conn){  
            try{  
                if (rs != null){  
                    rs.close();      
                }  
            }catch (SQLException e){  
                    e.printStackTrace();  
            }finally{  
                try{  
                    if (st != null){  
                        st.close();      
                    }  
                }catch (SQLException e){  
                    e.printStackTrace();  
                }finally{  
                    if (conn != null){  
                        try{  
                            conn.close();  
                        }catch (SQLException e){  
                            e.printStackTrace();  
                        }      
                    }  
                }  
            }  
        }      
    }  
    执行类
    static void update() throws Exception {  
            java.sql.Connection conn = null;  
            java.sql.Statement st = null;  
            java.sql.ResultSet rs = null;          
            String sql = "update user set password='gxy850318' where username = 'eboy'";  
            try {              
                //2.建立连接,可选指定编码及字符集  
                conn = JdbcUtils.getConnection();              
                //3.创建语句  
                st = conn.createStatement();  
                //4.执行语句  
                int i = st.executeUpdate(sql);  
                //5.处理结果          
                System.out.println("Result: " + i);  
            } finally {  
                JdbcUtils.free(rs, st, conn);              
            }  
        }