SQL,求解一个较复杂的存储过程
问题:现在我们有两个表
表一,为我们的请购的物品如下
taskid formno id lv1 lv2 no prono name spec unit qty rem
14275 REQ2016030032 NULL B 02 null 22039054 计算器 NULL NULL 10 NULL
15410 REQ2016040003 NULL B 02 null 22039033 洗衣机 洗衣机 台 2 NULL
表二,为资产的现有编号和类别,lv1为一级,lv2为二级,lv3为现有的最大编号,lv4为新资产编号起始编号
lv1 lv2 lv3 lv4
B 02 0565 B020566
D 02 0015 D010016
现在要实现这个功能,
1、根据表一的一条数据中的qty数量,将一个数据拆分成对应的多条数据,如qty为10,便把数据分成10条数据,每条数据QTY变成1。其余不变。
14275 REQ2016030032 NULL B 02 NULL 22039054 计算器 NULL NULL 1 NULL
14276 REQ2016030032 NULL B 02 NULL 22039054 计算器 NULL NULL 1 NULL
........
2、根据表二中和每条数据中的prono,lv1,lv2 给分解后的没有数据生成一个新的no。例如如下这条数据
14275 REQ2016030032 NULL B 02 B020566 22039054 计算器 NULL NULL 1 NULL
14276 REQ2016030032 NULL B 02 B020567 22039054 计算器 NULL NULL 1 NULL
------
3,将分解后的数据写入单独一个表中。