在一个存储过程中,返回多结果集。应该怎么运用循环处理得到返回的结果,并做相应的数据添删改呢?谢谢……学习啦!

解决方案 »

  1.   

    比如我根据一定的条件查询用户信息(ID),满足条件的用户不止一条。我得到用户的ID后每一个用户我都要做相应饿数据表修改数据!一一做不同的修改!谢谢
      

  2.   

    最好说明一下,这些不止一条的记录,你打算如何修改,规则是什么?或者一句简单的UPDATE语句就可以了。
      

  3.   


    declare userid CURSOR FOR SELECT  userID FROM userrun WHERE begindatetime="0000-00-00 00:00:00"  AND  enddatetime="0000-00-00 00:00:00" AND  orderenddatetime="0000-00-00 00:00:00" AND status=1; 得到用户id,根据用户ID去查找用户的相关订单信息产品信息,得到产品信息后,根据产品类型,周期算出,用户开始结束产品时间,和订单结束时间!再将产品开始结束、订单结束时间在运行表中更改!就是userrun中的三个时间做修改!谢谢!
      

  4.   

    相关修改逻辑 与语句 查询用户ID,订单ID 
    select userID,orderID FROM userrun WHERE begindatetime="0000-00-00 00:00:00"  AND  enddatetime="0000-00-00 00:00:00" AND  orderenddatetime="0000-00-00 00:00:00" AND status=1
    查产品ID
    select `productID` FROM orderinfo WHERE  ID= orderID and userID = userID查询产品类型,周期
    select type,period FROM `product` WHERE  ID= productID
    算出在当前时间上算出,产品开始、结束、订单结束时间在修改
    Update userrun set begindatetime= begindatetime , enddatetime= enddatetime, orderenddatetime= orderenddatetime and userID = userID and status=1
     
      

  5.   

    Update userrun set begindatetime= begindatetime , enddatetime= enddatetime, orderenddatetime= orderenddatetime and userID = userID and status=1这一句语句上有问题。大概猜测你的意思。 可以试一下这种直接更新的方法。语句你需要自己改一下。
    Update userrun u ,orderinfo o,product p
    set u.begindatetime= p.begindatetime , enddatetime= enddatetime, orderenddatetime= orderenddatetime 
    where u.orderID=o.id and u.userID=o.userID
    and p.ID= o.productID