我在prod上运行SQL Server 2005,但在2008年开发,我需要更改视图以添加列。但是我在创建部署脚本时遇到了问题,因为我需要将它包装在像这样的事务中
begin tran;
alter view [dbo].[v_ViewName] with schemabinding
as
select ...
/* do other stuff */
commit;
当我这样做时,SQL IDE会在alter语句下面加上一条错误,指出'ALTER VIEW'语句必须是批处理中唯一的语句。如果我忽略了这个并且只是试着运行它,它会给出这个错误:
关键字“view”附近的语法不正确。
任何想法如何解决这个问题?
答案 0 :(得分:10)
交易可以跨越多个批次:
begin tran;
GO
alter view [dbo].[v_ViewName]
with schemabinding
as
select ...
GO
/* do other stuff */
GO
commit;
GO