2013-05-07 66 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 

in #InsertedArEmailAndStatus There are 3 columns。 在#UpdatedEmailAndStatus有4列,但在AuditRecord我插入5列,所以我在哪裏添加第5列?或者在#InsertedArEmailAndStatus#UpdatedEmailAndStatus也許?Msg 213,Level 16,State 1,Line 1

+0

無論名稱只有一個目標表列的OUTPUT子句或OUTPUT三列值的數據。 – 2013-05-07 21:04:24

+0

另外,對於那些在家玩的人,我相信MSG 213的列數是不正確的。 – 2013-05-07 21:05:10

+0

我試着輸出3列,它仍然是相同的錯誤 – user2359961 2013-05-07 21:11:21

回答

2

您的實際問題是,你不能傳遞足夠的值#InsertedArEmailAndStatus試試這個(更換COL2,COL3與要在EmailAndStatus表來存儲列)

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) – 2013-05-07 22:01:17

相關問題