现在做的一个项目需要首先在数据库中插入基础数据,大概算了下有几千行的样子,数据如下。
但是这些数据本身是有规律的,所有的数据只有其中的LocationCode依据一定的规律变化,其他字段都是不变的,于是就想有没有什么办法能让程序自动复制数据,程序如下。
DECLARE @itemnumber int --定义需要循环的次数 DECLARE @LocationCode VARCHAR(50) --需要变化的编码 DECLARE @oldLocationCode VARCHAR(50) --不变的编码 set @itemnumber=1 SET @LocationCode='OVH-01-22-B' SET @oldLocationCode='OVH-01-22-B' WHILE (@itemnumber<19) --把第1台的数据一直复制到19台 BEGIN set @itemnumber=@itemnumber+1 IF(@itemnumber<10) --如果是一位数字,则前面加0补足两位 set @LocationCode=stuff(@LocationCode,6,7,@itemnumber)+SUBSTRING(@oldLocationCode,7,5) ELSE --如果是两位数字,则不需要补足 set @LocationCode=stuff(@LocationCode,5,7,@itemnumber)+SUBSTRING(@oldLocationCode,7,5) INSERT INTO WLRS_Locational_Detail(LocationCode,CodeDetail,CodeType,CodeisPic,CodeMax,CodeMin) SELECT @LocationCode,CodeDetail, CodeType,CodeisPic,CodeMax,CodeMin FROM WLRS_Locational_Detail WHERE (LocationCode=@oldLocationCode) END
插入结果如下