就是SQL拆行的有关问题 ,每次需要传入时间段参数查询,根据数量的值去拆分成行,oracle游标如何写

就是SQL拆行的问题 ,每次需要传入时间段参数查询,根据数量的值去拆分成行,oracle游标怎么写?
oracle数据库sql 查询到

货物     机械      时间                                           工作类型       数量
A            CQ       2014/10/10 15:40:00                F                   3
B           BQ       2014/10/11 10:45:00                 Q                  6

根据数量字段的值拆分成:
货物     机械      时间                                           工作类型       数量
A            CQ       2014/10/10 15:40:00                F                   1
A            CQ       2014/10/10 15:40:00                F                   1
A            CQ       2014/10/10 15:40:00                F                   1
B           BQ       2014/10/11 10:45:00                 Q                  1
B           BQ       2014/10/11 10:45:00                 Q                  1
B           BQ       2014/10/11 10:45:00                 Q                  1
...........
注意:每次查询不一定有两种货物,有时只有一种货物,有时是没有。需要传入开始时间跟结束时间的参数。
菜鸟一个,请教大侠给个代码。
------解决思路----------------------

declare
i number;
begin
  for v_goods in (select * from t_goods) loop
    for i in 1..v_goods.n_num loop
      insert into t_goods_dtl values (v_goods.c_goods,v_goods.c_mechine,v_goods.t_time,v_goods.c_type,1);
    end loop;
  end loop;
  commit;
end;