我想执行以下查询。我没有'CrewID'列,所以在这种情况下,它会通过脚本的更新部分。但它给错误无效的对象CrewID'。你能告诉我为什么它执行更新部分,即使我的条件不匹配。还有另外一种方法可以做到这一点。我有需要在哪里需要重命名列,但在重命名之前,我必须复制其他列中的数据,并需要执行脚本很多次。重命名表列
if exists (select * from syscolumns where name ='CrewID' and id in (select id from dbo.sysobjects where id = object_id(N'[dbo].[WorkPlanAssignees]') and OBJECTPROPERTY(id, N'IsUserTable') = 1))
BEGIN
update A set A.TempCrewID=B.ID from WorkPlanAssignees A inner join Crew B on A.CrewID=B.ID
END
请格式化您的查询... – Jonathan 2010-05-08 09:28:35
我认为这是唯一的原因是,您的条件,如writed,匹配。尝试用打印句子替换更新部分以确保它。 – Jonathan 2010-05-08 09:34:26
Jonathan,我试着用print语句,它不打印,这意味着它不会进入如果块是我想要的,但在更新语句的情况下,它试图执行它。 – Harendra 2010-05-08 09:53:02