我正在尝试从TableB
插入TableC
和TableA
中。表A中大约有30列,其中10列到TableB
,而20列到TableC
。
我认为数据必须逐行发送,因为。我必须在TableB
中插入一行,这将生成TableID
作为自动增量PK,在TableC
中是FK。我需要将TableID
和其余的列插入TableC
中。
下面是我正在使用的代码。使用此代码,我的TableB
可以正常工作,并且所有列和行都插入到TableC
中,除了ID
在TableC
中都相同。
TableA
中有数千行。
DECLARE @c BIGINT
INSERT INTO dbo.TableB (--TableBId - column value is auto-generated
FirstName, MiddleName, LastName, PhoneNumber,
CreatedBy, Created, Updatedby, Updated, IsActive)
SELECT
MSFIRST, MSMI, MSLAST, MSPHONE,
9999, GETDATE(), 9999, GETDATE(), 1
FROM
TableA
SET @C = SCOPE_IDENTITY()
INSERT INTO [dbo].[TableC] (ClientID, TableBId, SSN,
CreatedBy, Created, UpdatedBy, Updated)
SELECT
400, @C, MSSS,
9999, GETDATE(), 9999, (GETDATE())
FROM
TableA
-- DROP table #tt
SELECT * FROM TableB
SELECT * FROM dbo.TableC