我正在开发一个将数据从 Access 导入 SQL Server 2008 的应用程序。目前,我正在使用存储过程按记录单独导入数据。我不能使用批量插入或类似的东西,因为数据被插入到两个相关的表中......我有一堆字段进入 Account 表(名字、姓氏等)和三个字段每个保险表中都有一条记录,通过在存储过程中使用 SCOPE_IDENTITY 选择的自动递增 AccountID 链接回 Account 表。
由于从应用程序到数据库的往返次数,性能不是很好。出于这个和其他一些原因,我计划改用临时表并从那里导入数据。阅读我的选项来解决这个问题,对临时表中的数据执行相同的插入存储过程的游标是有意义的。然而,游标似乎是邪恶的化身,应该避免。
有没有办法在基于集合的操作中将数据插入一个表,检索自动生成的 ID,然后使用相应的 ID 将相同记录的数据插入另一个表?或者光标是我唯一的选择吗?