Там должно быть что-то большее, чем то, что вы показали выше. Я не могу получить очень похожий скрипт на провал; следующие работы просто великолепны:
CREATE TABLE #House (housekey int, number int, street char(20))
insert into #House (housekey, number, street) values (1, 123, 'Wilson Ave')
insert into #House (housekey, number, street) values (2, 124, 'Wilson Ave')
insert into #House (housekey, number, street) values (3, 125, 'Wilson Ave')
alter table #House DROP COLUMN street
alter table #House ADD street varchar(20)
update #House
set street = case
when number = 123 then 'Wilson Ave'
when number = 124 then 'Willson Ave'
when number = 125 then 'Wulson Ave'
else 'Xxy St'
end
select * from #house
drop table #house
Я думал, что идея разбить сценарий, поставив «GO» после определенных частей, будет эффективной, но когда я запускаю эту вещь, я не могу заставить ее потерпеть неудачу.
Другими словами, «Это работает на моей машине». Есть ли у вас что-нибудь, что может изменить ситуацию?
РЕДАКТИРОВАТЬ ДОБАВИТЬ: Да, GO является ответом. Признаюсь, «это работает на моей машине» - это немного безответственно, потому что вопрос касается не временной таблицы, а обычной. Я решил проблему, используя постоянную таблицу, и получил тот же результат, что и спрашивающий, и GO исправил его. На самом деле это казалось логичным с самого начала.