如何遍历 SQL 表的行并将它们转换为另一个表的行?我有一个带有 Id、Timestamp、IpAddress 和两个 varchar(500) 的表,我想将其更改为另一个表,其中 Id、StartTime 和 EndTime 初始化为 Timestamp,没有 IpAddress,并且表的外键最初保存每个他们的 varchar(500)。谢谢!
问问题
318 次
2 回答
2
您可以使用select ... into
从select
语句创建新表:
select orig.Id
, orig.Timestamp
, fk1.Id
, fk2.id
into NewTable
from OldTable orig
join ForeignKey1 fk1
on fk1.value = orig.varchar_1
join ForeignKey2 fk2
on fk2.value = orig.varchar_2
alter table NewTable add constraint FK_NewTable_ForeignKey1
foreign key references ForeignKey1(Id)
alter table NewTable add constraint FK_NewTable_ForeignKey2
foreign key references ForeignKey2(Id)
于 2013-04-30T18:07:26.950 回答
1
如果表已存在,则语法为:
insert into TargetTable
(field1, field2, etc)
select field1, field2, etc
from OtherTables
where whatever
于 2013-04-30T18:23:16.300 回答