如何在CREATE SCHEMA
语句中创建多个视图?
我想SCHEMA
在同一个语句中创建一个 , 并在其中创建两个视图,所以所有这些语句都作为一个单元工作?一起成功或失败!
来自 MSDN:http: //msdn.microsoft.com/en-us/library/ms189462.aspx
“CREATE SCHEMA 可以在单个语句中创建模式、表和视图,以及对任何安全对象的 GRANT、REVOKE 或 DENY 权限。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
语句的一部分?