【发布时间】:2015-02-26 15:20:43
【问题描述】:
我是 SQL 新手,今天我被分配了一项重要任务 - 为表中的数据创建迁移脚本。据我了解,迁移脚本是从表 A 复制数据并将其移动到其他表 B 和 C 等等。当数据库设计不断变化并且团队想要保留数据时,这种情况似乎很常见。
我的任务:
我有一个 JobOffer 表,其中包含 CityId 字段。现在团队想要删除该字段,为了保留信息,他们会将 CityId 添加到 Address 表中,并使用名为 Location 的中间表连接两个表(这允许 JobOffer 有多个地址)。
我不知道如何执行此任务。我假装在 c# 中的一个类比是这样的:
foreach (var row in JobOffer)
{
int addressId;
if (!Address.Contains(row.CityId)){
addressId = Address.add(row.CityId);
Locaion.add(row.JobOfferId, addressId);
}
else
{
Locaion.add(row.JobOfferId, Address.get(row.CityId));
}
}
我如何在 SQL 中做到这一点?
【问题讨论】:
-
你的桌子现在是什么样子的?
-
它们看起来像图片
-
对不起,我的意思是在创建位置表之前。
-
位置和地址表是否完全为空?
-
位置表是空的,地址表不是:S 它有必须保留的旧数据。
标签: c# mysql sql-server