我有2张桌子。
t1和t2。
t1有一个ID和一个参考。该引用的格式为TO-0000000,不能超过7个字符。
t2有1500条记录。如何以递增的计数插入数据?
T2不包含参考字段。 T2包含一个有1500条记录的ID。我想导入该ID,甚至只需将计数循环到1500并生成参考。
例如
ID Reference
1 TO-0000001
.. ......
1500 TO-0001500
希望这是有道理的。
答案 0 :(得分:1)
将表t1的ID列设为IDENTITY
,并自动处理增量。
现在,您只需要从源表t2中引用引用值并插入目标表t1。
INSERT INTO t1(References)
SELECT References FROM t2
答案 1 :(得分:1)
我假设您要将ID
列导入T1,并在插入该数据时生成引用字段。如果是这种情况,那么试试这个:
INSERT INTO T1 (ID,Reference)
SELECT ID,'TO-'+Left('0000000',(7-LEN(ID)))+CAST(ID AS CHAR)
FROM T2
尝试在SSMS中执行此操作以便于理解
DECLARE @num int=1
DECLARE @Results TABLE
(
ID INT,
Reference Char(10)
)
WHILE @num <= 1500
BEGIN
Insert INTO @Results
Select @num, 'TO-'+Left('0000000',(7-LEN(@num)))+CAST(@num AS CHAR)
SET @num = @num+1
END
SELECT * FROM @Results
答案 2 :(得分:0)
DECLARE @T TABLE (Flag INT IDENTITY(1,1),Name VARCHAR(20));
DECLARE @N INT,@name VARCHAR(20)
SET @N = 1
WHILE (@N < 1500)
BEGIN
INSERT INTO @T(Name)
VALUES( 'TO' + RIGHT('00000'+ CONVERT(VARCHAR,@N),12));
SET @N = @N + 1;
END
select * from @T