我在产品上运行SQL Server 2005,但在2008年进行开发,因此我需要更改视图以添加列。但是我在创建部署脚本时遇到了麻烦,因为我需要将其包装在这样的事务中
begin tran;
alter view [dbo].[v_ViewName] with schemabinding
as
select ...
/* do other stuff */
commit;
当我这样做时,SQL IDE会在alter语句下划线,并显示一条错误,指出“ ALTER VIEW”语句必须是批处理中的唯一语句。如果我忽略了这个,并且无论如何尝试运行它,就会出现此错误:
关键字“视图”附近的语法不正确。
任何想法如何解决这个问题?
最佳答案
一个事务可以跨越多个批次:
begin tran;
GO
alter view [dbo].[v_ViewName]
with schemabinding
as
select ...
GO
/* do other stuff */
GO
commit;
GO