好的,所以我有一个像这样设计的表 ERD……用于常规批量插入
(来源:iforce.co.nz)
以及一个制表符分隔的\t
文本文件,其中包含有关每个客户的信息(包含大约 100,000 多条记录)。
# columnA columnB columnC
data_pointA data_pointB data_pointC
以及当前可以正常完成预期工作的存储过程。
CREATE PROCEDURE import_customer_from_txt_para @filelocation varchar(100)
AS BEGIN
TRUNCATE TABLE dbo.[customer_stg]
DECLARE @sql nvarchar(4000) = '
BULK INSERT customer_stg
FROM ''' + @filelocation + '''
WITH
(
FIRSTROW=14,
FIELDTERMINATOR=''\t'',
ROWTERMINATOR=''\n''
)';
print @sql;
exec(@sql);
END
但我的问题是关于是否可以在批量插入中包含 customer_id之间customer_table
的关系?像这样?(我不确定如何将外键参数应用于批量插入)。customer_stg
customer_stg
@customer_sk
CREATE PROCEDURE import_customer_from_txt_para @filelocation varchar(100), @customer_sk int
AS BEGIN
TRUNCATE TABLE dbo.[customer_stg]
DECLARE @sql nvarchar(4000) = '
BULK INSERT customer_stg
FROM ''' + @filelocation + '''
WITH
(
FIRSTROW=14,
FIELDTERMINATOR=''\t'',
ROWTERMINATOR=''\n''
)';
print @sql;
exec(@sql);
END
最好在每次批量插入之后,我希望能够关联两个表之间的数据。
(来源:iforce.co.nz)