不确定标题是否使标题更加清晰。 我正在尝试将excel文件中的日志存档导入新系统。旧数据将所有内容都放在一个表中。 在新系统中,这些数据被分为多个表,其中FK引用了主日志表的自动ID字段。
old table: excel_log
| id | timestamp | person | event | sub_event | subject | subj_class | ... |
new tables : master_log
| id | timestamp | person | .... |
new tables : log_ext1
| id | mlog_id | subject | subject_class | ... |
new tables : log_ext2
| id | mlog_id | event_type | sub_event | event_param |
我在el_id
中添加了辅助字段master_log
。
将excel_table.id
完全插入master_log
中。
alter table master_log add el_id int
insert into master_log (id, timestamp, person, ..., el_id )
select timestamp, person, ..., id
from excel_table
然后在excel_table中插入字段的重置,将master_log
引向el_id
,以查找生成的mlog_id
insert into log_ext1 (mlog_id, ...)
select ml.id, el.subject, el....
from excel_table el left join master_log ml on el.id = ml.el_id
这很简单,但也很麻烦,因为我必须更改表。
我想知道在SQL Server中用自动FK做insert
的更好方法是什么?