如何将表的内容拆分为两个带索引的表?

时间:2016-09-28 15:31:32

标签: sql-server

我有一个带有架构的SQL Server表

varchar type,
varchar id,
int date,
varchar(MAX) data

我想将数据列拆分为自己的表,并为其提供一个唯一的索引,我将其放入现有的表中(更改为接受int而不是varchar(max)表示数据)

如何选择所有行并将data列插入一个表中,然后获取新创建的auto_incremented id并将其余列插入到另一个表中,其中auto_incremented id为新的第4列?

1 个答案:

答案 0 :(得分:1)

使用Identity列将表移动到新临时表。从该表中,首先创建新数据表,然后再次创建第二个表。

declare @OriginalTable (type varchar, id Varcher,date int, data varchar(MAX))
declare @TempTable (Ident int identity(1,1), type varchar, id archer,date int, data varchar(MAX))

insert into @TempTable (type, id, date, data) select * from @ OriginalTable

-- Create the Split tables
select ident, type, id, date into @Table1 From @TempTable
select ident, data into @Table2 From @TempTable