各位大佬们,我最近遇到要求写存储过程,这个完全不会,请大佬们指导一下:给个例子就行:大概是这样的:我先查一个表的结果集(是一个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);// 如果没有数据则插入
}
}
}
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);// 如果没有数据则插入
}
}
}
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)