表S_SENDD ---数据源
结构如下:
billid , goodsid , qty
0001 , 30001 , 300
0001 , 30022 , 600表M_BOM ---物料清单
BILLID , MGOODSID , MQTY , DGOODSID , DQTY
12312 , 30001 , 1 , 8001 , 1
12312 , 30001 , 1 , 8093 , 113121 , 30022 , 1 , 8972 , 1
13121 , 30022 , 1 , 8822 , 1 要求结果: 销售订单有多少个货品则生成多少张生产工单.
生产工单M_ORDER --主表
BILLID , GOODSID , QTY
2323 , 30001 , 1M_ORDERD生产工单细表 --从表
billid , goodsid , qty
2323 , 8001 , 1
2323 , 8093 , 1
生产工单M_ORDER --主表
BILLID , GOODSID , QTY
2423 , 30022 , 1 M_ORDERD生产工单细表 --从表
billid , goodsid , qty
2423 , 8972 , 1
2423 , 8822 , 1
MSSQL2000
要求通过销售表S_SENDD中的货品编码GOODSID 分别生成多张生产任务单,希望能通过存储过程游标去完成,谢谢!!
结构如下:
billid , goodsid , qty
0001 , 30001 , 300
0001 , 30022 , 600表M_BOM ---物料清单
BILLID , MGOODSID , MQTY , DGOODSID , DQTY
12312 , 30001 , 1 , 8001 , 1
12312 , 30001 , 1 , 8093 , 113121 , 30022 , 1 , 8972 , 1
13121 , 30022 , 1 , 8822 , 1 要求结果: 销售订单有多少个货品则生成多少张生产工单.
生产工单M_ORDER --主表
BILLID , GOODSID , QTY
2323 , 30001 , 1M_ORDERD生产工单细表 --从表
billid , goodsid , qty
2323 , 8001 , 1
2323 , 8093 , 1
生产工单M_ORDER --主表
BILLID , GOODSID , QTY
2423 , 30022 , 1 M_ORDERD生产工单细表 --从表
billid , goodsid , qty
2423 , 8972 , 1
2423 , 8822 , 1
MSSQL2000
要求通过销售表S_SENDD中的货品编码GOODSID 分别生成多张生产任务单,希望能通过存储过程游标去完成,谢谢!!
select GOODSID,1
from S_SENDDinsert into M_ORDERD
select c.MGOODSID,1
from M_ORDER a join S_SENDD b on a.GOODSID = b.GOODSID
join M_BOM c on a.BILLID = b.BILLID???
谢谢你的回复:
EXECUTE GETKEYID '', 1, @NEWBILLID OUTPUT ---这个取最大生产任务单BILLID+1
EXECUTE GETBILLCODE 407, @SYSBILLDATE, 1, @NEWBILLCODE OUTPUT
----这个取生产任务单最大单号+1 期中@SYSBILLDATE=DBO.SYSDATE ()
如果生成N张生产任务单需要循环取最大BILLID+1 和最大单号+1