select에서 데이터를 삽입하는 데이터베이스 스크립트를 작성하려고합니다. 하지만 데이터베이스에 편집이 있으므로 동일한 데이터를 외래 키가 아닌 두 테이블에 삽입해야합니다.SQL Server에서 하나의 선택에서 두 테이블에 데이터 삽입 2016
테이블 :
Membership
: 아이디, 역할, 계정 이름, ...MembershipMapper
:
: 아이디, MembershipId, 역할INSERT INTO [server1].[dbo].[Memberships] ([Role], [AccountName] .....) SELECT [Role], [AccountName], ...... FROM [server2].[dbo].[Memberships]
나는이 스크립트를 썼다
하지만 이제 Role
은 다른 테이블에 있습니다. 그것을 삽입하는 방법? 어떤 아이디어?
INSERT INTO [server1].[dbo].[Memberships] ([Role], [AccountName] .....)
SELECT
s.[Role],
m.[AccountName],
......
FROM
[server2].[dbo].[Memberships] m
INNER JOIN
[server2].[dbo].[SomeOtherTable] s ON m.ID = s.ID -- or whatever links the two tables.....
결국 'Role' 열은 다른 테이블에서 나온 것입니다. 그렇다면 하나의 select 문에있는 두 테이블의 데이터를 'Membership' 및'MembershipMapper' 테이블에 삽입한다는 의미입니까? 그렇다면 조인이 필요합니다. 그렇지 않으면 Sql Server가 단일 INSERT 문에서 다중 테이블 삽입을 지원하지 않기 때문에 데이터를 테이블에 개별적으로 삽입해야합니다. –