You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中从迁移表插入主表后,同步插入关联链接表的字段问题求助

SQL Server中从迁移表插入主表后,同步插入关联链接表的字段问题求助

我现在碰到个SQL Server数据迁移的小难题,想请大家帮忙看看。情况是这样的:我们把外部数据源的数据导入到了SQL Server的扁平表MigratedCustomer里,现在要把这些数据同步到生产环境的正式架构中——正式结构里有Customer主表,还有个关联表CustomersType,这个表需要用Customer插入后生成的主键ID,加上MigratedCustomer里的InputCustomerTypeID来关联。

我写的代码在把CustomerTypeID硬编码成3的时候是能正常运行的,但现在要把这个硬编码的值换成MigratedCustomer里对应的InputCustomerTypeID,试了好几种写法都不对,麻烦大家帮我调整一下。

先放目前能正常运行的代码(其中3是硬编码的,需要替换成动态的InputCustomerTypeID):

USE OtherCustomersDB
GO

CREATE TABLE #RowInserted (ID INT, CustomerTypeID INT);

Insert INTO dbo.Customer (CustomerTitle, CustomerForename, CustomerSurname, CustomerAddesss)
OUTPUT INSERTED.Id INTO #RowInserted(ID)
SELECT InputTitle, InputForename, InputSurname, InputAddress FROM dbo.MigratedCustomer
WHERE CustomerNumber = '215478';

INSERT INTO #RowInserted (CustomerTypeID)
SELECT InputCustomerTypeID FROM dbo.MigratedCustomer
WHERE CustomerNumber = '215478';

INSERT INTO dbo.[CustomersType] (CustomerId, CustomerTypeID)
VALUES ((SELECT ID from #RowInserted), 3);

这段代码的问题在于,我需要把最后一行里的硬编码值3替换成MigratedCustomer里的InputCustomerTypeID,但试了下面两种写法都报错:

第一种尝试:

INSERT INTO dbo.[CustomersType] (CustomerId, CustomerTypeID)
VALUES ((SELECT ID from #RowInserted),

第二种尝试:

(SELECT CustomerTypeID FROM dbo.MigratedCustomer));
INSERT INTO dbo.[CustomersType] (CustomerId, CustomerTypeID)
VALUES ((SELECT ID, CustomerTypeID from #RowInserted));

麻烦大家帮我看看,怎么才能正确把刚生成的CustomerID和对应的InputCustomerTypeID一起插入到CustomersType表中呀?

备注:内容来源于stack exchange,提问作者MH2486

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 18:38:07