创建模式内的多个视图 - SQL服务器

问题描述 投票:2回答:1

我怎样才能创建CREATE SCHEMA语句中多个视图?

我想创建一个SCHEMA,创造在同一个语句里面两个视图,因此,所有这些语句的工作作为一个单位?成功或失败在一起!

从MSDN:http://msdn.microsoft.com/en-us/library/ms189462.aspx

“创建模式可以创建一个模式,它包含的表和视图,并GRANT,REVOKE,或在一个声明中否认任何安全对象的权限。CREATE SCHEMA事务是原子的。如果create schema语句的执行过程中发生任何错误,没有指定的安全对象被创建并没有授予权限。”

,

我怎样才能做到这一点?我尝试这样做:

CREATE SCHEMA [MYSCHEMA] AUTHORIZATION [dbo]
    CREATE VIEW [VIEW1]
    AS 
        SELECT [ID]
               ,[NAME]
                FROM [dbo].[TABLE1]
        /* Here is the Problem */
        GO

        CREATE VIEW [VIEW2]
        AS
        SELECT [ID]
               ,[NAME]
                FROM [dbo].[TABLE2]
        GO

如果我只包括第一个视图创建后GO语句,那么脚本运行,但第二种观点VIEW2dbo模式下创建的,而不是下MYSCHEMA,并作为一个单位要么不运行。

如果我的第一个视图后删除GO,那么它给出了一个错误说法

CREATE VIEW必须是批处理的第一个语句

第二CREATE VIEW声明。

如何解决这个问题,并创建双方意见CREATE SCHEMA声明的一部分吗?

sql-server tsql view sql-server-2008-r2
1个回答
5
投票
CREATE SCHEMA [MYSCHEMA] AUTHORIZATION [dbo]

CREATE VIEW [VIEW1] AS SELECT [ID], [NAME] FROM [dbo].[TABLE1]
CREATE VIEW [VIEW2] AS SELECT [ID], [NAME] FROM [dbo].[TABLE2]
GO
© www.soinside.com 2019 - 2024. All rights reserved.