Sql server 2008 Msg 213,16级,状态1,第1行
在Sql server 2008 Msg 213,16级,状态1,第1行,sql-server-2008,Sql Server 2008,在#InsertedArEmailAndStatus中有3列。 在#UpdatedEmailAndStatus中有4列,但在AuditRecord中,我插入了5列,那么在哪里添加第5列呢?无论是在#insertedemailandstatus中还是在#updateedemailandstatus中,可能?您的实际问题是您没有向#insertedemailandstatus传递足够的值(用要存储在EmailAndStatus表中的列替换col2、col3) 要么在OUTPUT子句的目标表中只指定一
#InsertedArEmailAndStatus
中有3列。
在
#UpdatedEmailAndStatus
中有4列,但在AuditRecord
中,我插入了5列,那么在哪里添加第5列呢?无论是在#insertedemailandstatus
中还是在#updateedemailandstatus
中,可能?您的实际问题是您没有向#insertedemailandstatus
传递足够的值(用要存储在EmailAndStatus表中的列替换col2、col3)
要么在OUTPUT子句的目标表中只指定一列,要么输出三列数据。另外,对于那些在家玩的人,我认为MSG 213的列数不正确。我尝试输出三列,但仍然是相同的错误,或者,
OUTPUT inserted.AuditRecordId插入#insertedemailandStatus(OneColumnName)
INSERT INTO AuditRecord
(AuditActionId
,EntityName
,EntityKey
,CreateUser
,CreateDate)
OUTPUT inserted.AuditRecordId INTO #InsertedArEmailAndStatus
SELECT
2 /* update */
,'CustomerContact'
,ContactId
,CURRENT_USER
,CURRENT_TIMESTAMP
FROM #UpdatedEmailAndStatus
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