那么将向表lyt_test_task插入10条数据
2007 0814 100 001,2007 0814 100 002 2007 0814 100 003 2007 0814 100 004...2007 0814 100 010
If exists(select name from sysobjects where name='Add_Task' and type='p')
drop proc Add_Task
GO
create proc Add_Task
@ProductID int,@mount int,@bsm varchar(50)
As
Declare @i int,
@TaskSn varchar(50)
Set @i=1
While @i <= @mount
begin
--===================================
Begin
If Len(@i)=1
Set @TaskSn=@bsm+'00'+cast(@i as varchar)
If Len(@i)=2
Set @TaskSn=@bsm+'0'+cast(@i as varchar)
If Len(@i)>=3
这里如果If Len(@i)>=3改成ELSE就不行了
Set @TaskSn=@bsm+@i
是错误的,字符串和INT类型的联接必须CAST或者CONVERT转换一下
Set @TaskSn=@bsm+cast(@i as varchar)
End
--====================================
Insert lyt_test_task (ProductID,TaskSn) values(@ProductID,@TaskSn)
Set @i=@i+1
End