我正在读表A并在表B中插入日期(两个表的结构与主键数据类型相同)。在表B中,主键是int,而在表A中,它是UniqueIdentifier。
插入表B (身份证,姓名,地址) (从表A中选择ID,名称,地址)
现在我如何使用上面的脚本在TableB中插入int类型增量值(1,2,3,依此类推)而不是TableA中的uniqueidentifier。
帮助?
答案 0 :(得分:6)
为什么不更改表B,以便主键是自动递增的标识?
答案 1 :(得分:2)
转到表格属性,选择ID字段,在“身份规范”下,设置“身份增量”= 1,“身份种子”= 1.通过这样做,ID变为自动增量...
然后你的插入语句就像:
INSERT INTO TableB (Names, Address) (select Names, Address from TableA)
答案 2 :(得分:2)
如果不能更改TableB的架构,那么在select语句中添加一个等级,如下所示:
insert into tableB select rank() over(order by id), name, address from tableA
这将始终从1开始。如果您想以1以外的数字开始编号,我可以添加+10。我相信你从那里得到了这个想法。
答案 3 :(得分:0)
CREATE TABLE TableB
(
ID int PRIMARY KEY IDENTITY(1,1),
Name nvarchar(200),
Address nvarchar(200)
)
然后,在查询中,不要指定标识列的值。
INSERT INTO TableB(Name, Address)
SELECT Name, Address FROM TableA