| 发表于:2007-08-30 16:38:32 楼主 |
表结构(测试方案) 生产计划 scjh scjh, xsdd,cpbh,jhsl(生产计划,销售订单、产品编号,计划数量) 测试记录 (scjh083001,xsdd083001,cpbh000001,300.00) 产品结构bom cpbh,gybh,wlbh,sl,shl(产品编号,工艺编号,物料/半成品编号,数量,损耗率) 测试记录 理想情况下认为对半成品的数量需求为1,损耗率为0 (cpbh000001,gybh000001,cpbh000002,1,0) (cpbh000001,gybh000001,wlbh000001,3,0.02) (cpbh000002,gybh000002,cpbh000003,1,0) (cpbh000002,gybh000002,wlbh000002,4,0.02) (cpbh000003,gybh000003,wlbh000003,4,0.02) 相关需求xgxq scjh,xsdd,cpbh,wlbh ,xqsl(生产计划,销售订单,产品编号,物料编号,需求数量) 产品、半成品命名规则一样,如cpbh000001,物料编号,wlbh000001 create proc p(@scbh varchar(10),@xsdd varchar(10),@cpbh varchar(10),@jhsl decimal(18,2)) as declare @cpbh1 varchar(10),@cpbh2 varchar(10),@sl decimal(18,2),@shl decimal(18,2) declare @wlbh varchar(10) @cpbh2 = @cpbh do declare cur cursor for select bom.cpbh,bom.wlbh,bom.sl,bom,shl from bom where bom.cpbh=@cpbh open cur fetch next from cur into @cpbh1,@wlbh,@sl,@shl while @@fetch_status=0 begin if left(@wlbh,2)== 'wl ' begin insert into xgxq(scbh,xsdd,cpbh,wlbh,xqsl) values (@scbh,@xsdd,@cpbh2,@wlbh,@jhsl*@sl*@shl) @cpbh=@wlbh end else begin @cpbh=@wlbh end fetch next from cur into @cpbh1,@wlbh,@sl,@shl end close cur deallocate cur while left(@cpbh,2)== 'cp ' go 错误: 服务器: 消息 170,级别 15,状态 1,过程 p,行 5 第 5 行: '@cpbh2 ' 附近有语法错误。 服务器: 消息 137,级别 15,状态 1,过程 p,行 12 必须声明变量 '@wlbh '。 服务器: 消息 137,级别 15,状态 1,过程 p,行 15 必须声明变量 '@wlbh '。 服务器: 消息 137,级别 15,状态 1,过程 p,行 17 必须声明变量 '@wlbh '。 服务器: 消息 137,级别 15,状态 1,过程 p,行 24 必须声明变量 '@wlbh '。 服务器: 消息 170,级别 15,状态 1,过程 p,行 28 第 28 行: '= ' 附近有语法错误。 请高手帮忙看看@wlbh变量我声明了,怎么出错呢 还有其他的错误请高手帮忙看看 |
|
|
|
|