现在做的一个项目需要首先在数据库中插入基础数据,大概算了下有几千行的样子,数据如下。
但是这些数据本身是有规律的,所有的数据只有其中的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
插入结果如下