消息关闭
    暂无新消息!
现在有两张临时表,表A有25条数据,表B有588条数据,目标是将表A中的每条数据和表B中的每条数据组合成一条新的数据存入表C中,照道理,应该会有25*588=14700条数据,因为涉及到调差,所以我采用了游标,并使用双层for循环来组合数据,出来的结果总是25*25*588= 367500条数据,请问这是怎么回事?

5个回答

︿ 0
首先楼上正解,只需要select * from a,b,得出的就是a表和b表的笛卡尔积。

然后虽然没有看到你所有的代码,但是猜测一下,你的第一个存储过没有问题,但是第二个的时候

注释里的控制循环数量,可以认为你下面有个循环是用这个数量来控制循环结束的,但是你接着又写了一个for游标的循环,这说明,你的第二个存储过程有两个循环,加上第一个存储过程的一个循环,刚好25*25*588= 367500,如果你说的25条数据的表是FSOBRANCHD_T这张表的话,那应该就是这样没错了。