我试图有条件地添加一个列,然后在一个块中更新它:
IF NOT EXISTS (
SELECT *
FROM sys.columns
WHERE [name] = N'outOf'
AND [object_id] = object_id(N'woRoute')
) BEGIN
ALTER TABLE woRoute
ADD outOf int NULL;
UPDATE woRoute set outOf = sampling
WHERE sampling is not null and sampling <> 0;
UPDATE woRoute set sampling = 1
WHERE outOf is not null;
END
但是我得到了一个错误&#34; outOf&#34;不是有效列,引用第一个UPDATE查询。
我是从Microsoft SQL Server Management Studio运行的。如果我分开运行每一件,一切正常。但如果我尝试将它们一起运行,我就会收到错误。
如何添加此列,将表中其他列的值复制到其中,然后更新其他列的值,所有这些都在新列尚不存在的情况下?