骷
骷髅头
Unregistered / Unconfirmed
GUEST, unregistred user!
t_ProductType表ProductType ProductTypeJM纸杯类 ZBL玩具类 WJL笔类 BL日用品类 RYPLt_ProductInfo表ProductID ProudctType ..........WJL0000001 玩具类WJL0000002 玩具类BL00000001 笔类 RYPL000001 日用类... ...CREATE procedure Add_ProductInfo --向登记票号表中插入数据,自动生成票号,并将票号返回给程序 @ProductType varchar(30), @ProductUnit varchar(30), @ProductPrice money, @ProductName varchar(50), @ProductBarCode varchar(50), @ProductItemNo varchar(50), @ProductModel char(10), @ProductID char(10) output asbegin Declare @temp char(10) --提取游标中的数据 --声明一个游标用于提取字段中最大票号 Declare @tmpCol char(10) Declare @i int Declare @j int set @i= (select len( ProductTypeJm) as 'mLength' from t_ProductType where ProductType=@productType) set @j=10-@i set @tmpCol=right('000000001',@j) set @ProductID =(select ProductTypeJm from t_ProductType where ProductType=@productType)+ @tmpCol declare fetch_MaxPh Cursor LOCAL Scroll for select Max(ProductID) from t_ProductInfo if CURSOR_STATUS('local','fetch_Maxph')= -1 --如果游标未打开,打开游标 Open fetch_Maxph Fetch first from fetch_Maxph into @temp Close fetch_Maxph Declare @Id Int if @temp is NUll begin set @ProductID = @ProductID+@tmpCol end else begin set @id =Convert(int,right(@temp,@j))+power(10,@j)+1 set @tmpCol= Convert(char(10),@id) set @ProductID =@ProductID + right(@tmpCol,@j) -- if @id <9 -- set @ProductID = @ProductID +'000000000'+Convert(char(10),@id+1) -- else if @id <99 -- set @ProductID = @ProductID+'0'+Convert(char(10),@id+1) -- else if @id<999 -- set @ProductID = @ProductID + Convert(char(10),@id+1) end insert into t_ProductInfo values (@ProductID,@ProductType,@ProductUnit,@ProductPrice,@ProductName,@ProductBarCode,@ProductItemNo,@ProductModel)endGO问题是数据可以创建,但同类型的编号却没有增加