我今天早上已经看了很多次,但找不到问题。它可能非常简单,当有人指出时我会觉得自己像个白痴。这个 SQL 会失败什么?

-- Get CurrentRowCount
DECLARE @MaxID INT

SELECT @MaxID = ISNULL(MAX(WorkTypeID),0)
FROM caWorkType

ALTER TABLE #WorkType ADD _RowID INT NOT NULL IDENTITY(@MaxID,1)

我得到的错误是:“'@MaxID' 附近的语法不正确”我已经检查过,@MaxID 被 select 语句设置为 45。临时表 #WorkType 也没有名为“_RowID”的列

最佳答案

这不是尝试将列添加到失败的临时表的行为,但您不能使用变量来指定 IDENTITY 的值:

不正常 :

ALTER TABLE #WorkType ADD _RowID INT NOT NULL IDENTITY(@MaxID,1)

好的 :
ALTER TABLE #WorkType ADD _RowID INT NOT NULL IDENTITY(55,1)

马克

关于tsql - 尝试向临时表添加列失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1817969/

10-12 13:44