SQL Server表中自动复制数据

      现在做的一个项目需要首先在数据库中插入基础数据,大概算了下有几千行的样子,数据如下。


      但是这些数据本身是有规律的,所有的数据只有其中的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

插入结果如下



原文地址:https://www.cnblogs.com/QiuJL/p/4524204.html