各位大佬们,我最近遇到要求写存储过程,这个完全不会,请大佬们指导一下:给个例子就行:大概是这样的:我先查一个表的结果集(是一个list) :然后用这个结果集的ID循环去查询另外的数据表最后用查到的数据计算得到结果,再插入另外一个表:附上java代码:List<Project> proList = new ArrayList<Project>();
proList = uiProDao.queryProject(0);// 0默认查询所有项目
if (proList != null && proList.size() > 0) {
for (int i = 0; i < proList.size(); i++) {
Project pro = proList.get(i);
UiProCount uipro = new UiProCount();
float proincome = 0;// 项目总收入
int sales = uiProDao.getProSales(countDate,pro.getId());
                                     int result = uiProDao.addProCount(sales);// 如果没有数据则插入
                                 }
                    }
               } 

解决方案 »

  1.   

    mysql> delimiter //
     
    mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
        -> BEGIN
        ->   SELECT COUNT(*) INTO param1 FROM t;
        -> END
        -> //
    Query OK, 0 rows affected (0.00 sec)
     
    mysql> delimiter ;
     
    mysql> CALL simpleproc(@a);
    Query OK, 0 rows affected (0.00 sec)
     
    mysql> SELECT @a;
    +------+
    | @a   |
    +------+
    | 3    |
    +------+
    1 row in set (0.00 sec)
      

  2.   

    看一下MYSQL手册中的存储过程例子,这个比JAVA简单多了。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html