不能在一个事务里面完成的,
每个CREATE VIEW后使用GO.
CREATE VIEW view1 as... 
GO
CREATE VIEW view2 as ... 
GO

解决方案 »

  1.   

    使用 ROLLBACK TRANSACTION 
    加入一些判断语句作还原..比如 drop view ..
      

  2.   

    BEGIN TRANSACTION CREATE VIEW view1 as... 
    GOCREATE VIEW view2 as ... 
    GOCOMMIT TRANSACTION 
    这样?还是无法执行。要实现的功能很简单,只是创建两个视图view1和view2,而且是要么都创建,要么都不做。
    哪位能给出代码?
      

  3.   

    事务影响的是DML语句,DDL语句是不受事务控制的.
      

  4.   

    CREATE VIEW view1 as... 
    GO
    CREATE VIEW view2 as ... 
    GO这个用过
    可以