我正在将数据从一个系统迁移到另一个系统,并将收到一个包含要导入数据的 CSV 文件。该文件最多可包含一百万条要导入的记录。我需要获取文件中的每一行,对其进行验证并将数据放入相关表中。例如,CSV 将类似于:
Mr,Bob,Smith,1 high street,London,ec1,012345789,work(this needs to be looked up in another table to get the ID)
实际文件中的数据比此示例多得多。
所以,SQL 应该是这样的:
Declare @UserID
Insert into User
Values ('Mr', 'Bob', 'Smith', 0123456789)
Set @UserID = @@Identity
Insert into Address
Values ('1 high street', 'London', 'ec1', select ID from AddressType where AddressTypeName = 'work')
我正在考虑遍历每一行并使用包含上述 SQL 的文件中的参数调用一个 SP。这会是解决这个问题的最好方法吗?这不是时间关键,因为它只会在更新站点时运行一次。
我正在使用 C# 和 SQL Server 2008 R2。