我有一个带有架构的SQL Server表
varchar type,
varchar id,
int date,
varchar(MAX) data
我想将数据列拆分为自己的表,并为其提供一个唯一的索引,我将其放入现有的表中(更改为接受int而不是varchar(max)表示数据)
如何选择所有行并将data
列插入一个表中,然后获取新创建的auto_incremented id并将其余列插入到另一个表中,其中auto_incremented id为新的第4列?
答案 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