我怎样才能创建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
语句,那么脚本运行,但第二种观点VIEW2
是dbo
模式下创建的,而不是下MYSCHEMA
,并作为一个单位要么不运行。
如果我的第一个视图后删除GO
,那么它给出了一个错误说法
CREATE VIEW必须是批处理的第一个语句
第二CREATE VIEW
声明。
如何解决这个问题,并创建双方意见CREATE SCHEMA
声明的一部分吗?
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