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