从一个表插入两个表

时间:2019-08-04 01:18:46

标签: sql-server

我正在尝试从TableB插入TableCTableA中。表A中大约有30列,其中10列到TableB,而20列到TableC

我认为数据必须逐行发送,因为。我必须在TableB中插入一行,这将生成TableID作为自动增量PK,在TableC中是FK。我需要将TableID和其余的列插入TableC中。

下面是我正在使用的代码。使用此代码,我的TableB可以正常工作,并且所有列和行都插入到TableC中,除了IDTableC中都相同。

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

0 个答案:

没有答案