sql1=select * from (select *, row_number() over(order by username ) as rowNumber from users where regfrom='&admin&') as t where t.rowNumber > 0 and t.rowNumber <= 0 + 30 order by username sql1查询得到一个结果集, 有27条记录。然后sql2=select username,daili from users where username='" + username+ "' or regfrom like '%" + "&" + username+ "&" + "%' order by usernamesql2的username是结果集1里得到的接着sql3=select username,back_money,back_money2,follows,type from "+ dbleft + "bank_back where username='" + username1+ "' " + ptype + " " + btype + " " + addtime1 + " "+ addtime2 + " order by addtime descsql3的username1和其他参数都是从sql2里得到的从程序里反映出来的就是for(sql1的结果集){ for(sql2的结果集) { for(sql3的结果集) { 处理...... } }}请问存储过程该怎么实现.记得是用fetch loop 来进行循环遍历,然后可以自定义 type ~~~~(>_<)~~~~ 都忘光光了
会不会很慢, 因为程序里面是这样的一个结构,然后循环很慢,我就想:存储过程不是有预编译吗,那就放在存储过程里试一试.是这样的,
sql1的结果又27条。
sql2的结果是在27*4800条(4800是sql1的username在sql2中能查到平均这么多)
sql3的结果是在前面两条基础上在乘以一个数,
程序里是按for去遍历,花了太长时间了. 现在想要有个办法优化下。