Create Proc GetLugageNum
@ShipTicketNO varchar(50),
@OriDate varchar(50),
@OriHB varchar(50),
@LugageCount integer
as --exec GetLugageNum '20060218034792','2006-02-18','10:00',100declare @Temp integer ,@i integertable_loop:set @i=1
 
  Select @Temp=isnull(max(Lug_no),28800000) from LuggageBound where Lug_no like '00288_____'
BEGIN TRANSACTION while @i<=@LugageCount
begin
  insert into LuggageBound(ShipTicketNO,OriDate,OriHB,Lug_no,IsLeave,IsThrough)
                   values(@ShipTicketNO,@OriDate,@OriHB,'00'+cast(@Temp+@i as varchar(10)),0,0)  --假如我插入10条记录的话?如果在每5条重复,实际上前4条是不是已经进入了数据库呢?  IF @@ERROR <> 0 --重复时候前台程序还会报主键冲突错?
  BEGIN
    ROLLBACK TRANSACTION --插入重复值时回滚
    GOTO table_loop  --跳转至table_loop重新执行
  END  set @i=@i+1
end
COMMIT TRANSACTION  
GO