当我使用INSERT SELECT时,如何使用@@IDENTITY?
DECLARE @ENTITYID AS BIGINT
INSERT INTO Quiz_QuizQuestion
SELECT @ENTITYID,
@DIFICULTLEVELCODE,
ENTITYID,
@QuizEntityId,
Title,
[Description],
[Description],
Duration
FROM Education_Question
WHERE EntityID = 1 --THIS SELECT RETURN JUST 1 RECORD
SET @ENTITYID = @@IDENTITY
SELECT @ENTITYID // NULL
Quiz_QuizQuestion
是否有任何列被定义为IDENTITY
?(注:99% 的情况下,您仍然需要使用SCOPE_IDENTITY
,但这里不应该解释为什么@ENTITYID IS NULL
) - Martin SmithSCOPE_IDENTITY()
而不是@@IDENTITY
- 使用@@IDENTITY
可能会得到错误的结果(有关详细信息请参见此处的博客文章) - marc_s