2012-11-10 4 views
5

가능한 중복 :
How can I INSERT data into two tables simultaneously in SQL Server?저장 프로 시저에서 한 번에 두 테이블에 모두 어떻게 삽입합니까?

학교에 대한 프로젝트를하고 그래서 어떤 도움이 좋을 것 감사합니다!

두 테이블이 있습니다. 두 테이블에 어떻게 삽입합니까? 그래서 두 테이블이 서로 연결되어 있습니다.

첫 번째 테이블은 기본 키 CustomerCID이 자동 증가

CREATE TABLE [dbo].[Customer](
    [CID] [int] IDENTITY(1,1) NOT NULL, 
    [LastName] [varchar](255) NOT NULL, 
    [FirstName] [varchar](255) NOT NULL, 
    [MiddleName] [varchar](255) NULL, 
    [EmailAddress] [varchar](255) NOT NULL, 
    [PhoneNumber] [varchar](12) NOT NULL   
CONSTRAINT [PK__CInforma__C1F8DC5968DD69DC] PRIMARY KEY CLUSTERED 
(

라고 그리고 두 번째 테이블이

CREATE TABLE [dbo].[Employment](
    [EID] [int] IDENTITY(1,1) NOT NULL, 
    [CID] [int] NOT NULL, 
    [Employer] [varchar](255) NOT NULL, 
    [Occupation] [varchar](255) NOT NULL, 
    [Income] [varchar](25) NOT NULL, 
    [WPhone] [varchar](12) NOT NULL, 
CONSTRAINT [PK__Employme__C190170BC7827524] PRIMARY KEY CLUSTERED 
(
+1

최근 삽입 된 PK를 저장하고 다음 명령문에서 FK로 사용하려면 SCOPE_IDENTITY를 설정해야합니다. – Jaxedin

답변

10

는 당신이 필요로하는 부모 테이블에 연결된 외부 키를 가지고 Employment라고 불린다 다음과 같이하십시오 :

SCOPE_IDENTITY : 동일한 범위에서 ID 열에 삽입 된 마지막 ID 값을 리턴합니다. 범위는 모듈, 즉 저장 프로 시저, 트리거, 함수 또는 일괄 처리입니다. 따라서 동일한 저장 프로 시저, 함수 또는 일괄 처리에있는 두 문은 동일한 범위에 있습니다.

관련 문제