Sql server 2008 Alter和update语句一起执行

Sql server 2008 Alter和update语句一起执行,sql-server-2008,sql-update,Sql Server 2008,Sql Update,这个问题让我的日子不好过 它在一个接一个单独执行时工作,但在选择并执行整个查询时会产生错误 ALTER TABLE ProcedureMaster add TierId smallint null update ProcedureMaster set TierId=3 where TierId is null 错误是: Msg 207, Level 16, State 1, Line 4 Invalid column name 'TierId'. 您需要使用GO进行如下更改: BEGIN

这个问题让我的日子不好过

它在一个接一个单独执行时工作,但在选择并执行整个查询时会产生错误

ALTER TABLE ProcedureMaster
add TierId smallint null

update ProcedureMaster set TierId=3 where TierId is null
错误是:

Msg 207, Level 16, State 1, Line 4
Invalid column name 'TierId'.

您需要使用GO进行如下更改:

BEGIN TRANSACTION
GO
ALTER TABLE ProcedureMaster
add TierId smallint null
GO
update ProcedureMaster set TierId=3 where TierId is null   
COMMIT TRANSACTION    

但我不想添加默认值。我希望当这个新列被添加时,它只是用值3更新旧记录,然后我想将列更改为NOTNULL@RahulRanjan:-我已删除默认语句。请检查更新的答案!!请仔细阅读:
http://stackoverflow.com/questions/11390745/ddl-commands-are-autocommit-in-sql-server-what-does-it-mean
。答案适用于你的问题。@Abhi为什么你的链接
code
不是?