2013-05-07 2 views
1
INSERT INTO AuditRecord 
    (AuditActionId 
    ,EntityName 
    ,EntityKey 
    ,CreateUser 
    ,CreateDate) 
OUTPUT inserted.AuditRecordId INTO #InsertedArEmailAndStatus 
SELECT 
    2 /* update */ 
    ,'CustomerContact' 
    ,ContactId 
    ,CURRENT_USER 
    ,CURRENT_TIMESTAMP 
FROM #UpdatedEmailAndStatus 

#InsertedArEmailAndStatus 3 열이 있습니다. #UpdatedEmailAndStatus에는 4 개의 열이 있지만 AuditRecord에는 5 열을 삽입하고 있으므로 어디에서 5 번째 열을 추가합니까? #InsertedArEmailAndStatus 또는 #UpdatedEmailAndStatus 일 수도 있습니다.메시지 레벨 213, 수준 16, 수준 1,

+0

이름 하나 열 중 하나 OUTPUT 절 또는 OUTPUT 세 열의 데이터를 가져와야합니다. –

+0

또한 집에서 놀고있는 사람들에게는 MSG 213이 잘못된 열 수라고 생각합니다. –

+0

나는 3 열의 출력을 시도했는데 여전히 동일한 오류 – user2359961

답변

2

귀하의 실제 문제는 당신이 (당신이 EmailAndStatus 테이블에 저장할 열이, COL2 교체 COL3)를이 시도 #InsertedArEmailAndStatus에 충분한 값을 전달하지 않는 것입니다

INSERT INTO AuditRecord 
    (AuditActionId 
    ,EntityName 
    ,EntityKey 
    ,CreateUser 
    ,CreateDate) 
OUTPUT inserted.AuditRecordId, Inserted.Col2, Inserted.col3 
INTO #InsertedArEmailAndStatus 
SELECT 
    2 /* update */ 
    ,'CustomerContact' 
    ,ContactId 
    ,CURRENT_USER 
    ,CURRENT_TIMESTAMP 
FROM #UpdatedEmailAndStatus 
대상 테이블에
+3

또는 'OUTPUT inserted.AuditRecordId INTO #InsertedArEmailAndStatus (OneColumnName)' –

관련 문제