Как включить оператор ALTER VIEW в транзакцию для сценария развертывания? - PullRequest
4 голосов
/ 15 декабря 2009

Я использую SQL Server 2005 на prod, но работаю в 2008 году, и мне нужно изменить представление, чтобы добавить столбец. Однако у меня возникают проблемы при создании сценария развертывания, потому что мне нужно обернуть его в транзакцию, подобную этой

begin tran;

alter view [dbo].[v_ViewName] with schemabinding
as 
    select ... 

    /* do other stuff */
commit;

Когда я делаю это, SQL IDE подчеркивает оператор alter ошибкой, говоря, что оператор ALTER VIEW должен быть единственным оператором в пакете. И если я проигнорирую это и просто попытаюсь запустить его, это выдаст ошибку:

Неверный синтаксис рядом с ключевым словом view.

Есть идеи, как обойти это?

1 Ответ

10 голосов
/ 15 декабря 2009

Транзакция может охватывать несколько партий:

begin tran;
GO

alter view [dbo].[v_ViewName] 
with schemabinding
as         
  select ...     
GO

/* do other stuff */
GO

commit;
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...