2016-07-06 39 views
-1

我想创建一个视图模式,但陷入了一些问题。关键字'SCHEMA'附近的语法不正确。错误创建它

请你解释一下。我#m新的模式。

CREATE VIEW schema.[TEMP1_V](
LOCATION, 
OBJECTID, 
CTID, 
numb, 
COUNTALL, 
COUNTALL_DEBIT 
) 
AS SELECT 
LOCATION, 
OBJECTID, 
CTID, 
numb, 
COUNTALL, 
COUNTALL_DEBIT 
COUNT (location) OVER (PARTITION BY location) AS COUNTALL, 
COUNT (location) OVER (PARTITION BY location, IS_DEBIT) AS COUNTALL_DEBIT 
FROM ALLOCAMT_V 

尝试创建它时出现错误。 '关键字'SCHEMA'附近的语法错误。''

+2

创建是您的架构实际上是所谓的“模式”?这里的缺省值是'dbo' –

+0

只需删除'schema.',视图就会在默认模式下创建。 – jarlh

+0

嗨,我试图做到这一点..但没有奏效。 – user2732656

回答

0

试用dbo

dbo是SQL Server中的Defult模式。如果你有自己的模式,你可以创建这个观点与<schema_name>.[TEMP1_v]

CREATE VIEW dbo.[TEMP1_V] 
    AS SELECT 
    LOCATION, 
    OBJECTID, 
    CTID, 
    numb, 
    COUNT (location) OVER (PARTITION BY location) AS COUNTALL, 
    COUNT (location) OVER (PARTITION BY location, IS_DEBIT) AS COUNTALL_DEBIT 
FROM ALLOCAMT_V 
+0

我们是否真的需要VIEW的参数? – Arulkumar

+0

@Arulkumar我知道它的可选。编辑... – Sankar

+0

@Arulkumar但你能告诉我,有什么区别吗? – Sankar

1

我怀疑你的模式实际上叫做schema。默认值是dbo,这就是我在下面的例子中使用的。你也不需要像你一样声明你的字段名称。您还在选择语句中复制了COUNTALLCOUNTALL_DEBIT列。

CREATE VIEW dbo.[TEMP1_V] 
AS 
SELECT 
    LOCATION, 
    OBJECTID, 
    CTID, 
    numb, 
    COUNT (location) OVER (PARTITION BY location) AS COUNTALL, 
    COUNT (location) OVER (PARTITION BY location, IS_DEBIT) AS COUNTALL_DEBIT 
FROM ALLOCAMT_V 
0

首先,你的例子是开始了与此:

CREATE VIEW 

所以,不知道是如何工作的,我们从微软的MSDN页面查找CREATE VIEW - MSDN,看到以下内容:

CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ]) ] 
[ WITH <view_attribute> [ ,...n ] ] 
AS select_statement 
[ WITH CHECK OPTION ] [ ; ] 

<view_attribute> ::= 
{ 
    [ ENCRYPTION ] 
    [ SCHEMABINDING ] 
    [ VIEW_METADATA ]  } 

我们注意到VIEW的例子并不包括在开始部分列,所以我们回到定义上MSDN,看到以下内容:

SCHEMA_NAME

是的名称schema到该视图所属

是使用F中的名称或视图中的列。仅当从算术表达式派生列时,列名是 , 函数或常量;当两列或更多列可能具有相同的名称时,通常是因为加入;或者指定视图 中的某个列的名称与派生的 的列的名称不同。 列名也可以在SELECT语句中分配。

如果未指定列,在视图列获得相同的名称 在SELECT语句中的列。

UPDATE:所以有以下的理由在这里定义的字段,因为您的查询已经这样做了。

这给我们带来以下结论:

  • 使用MSDN语法问题。
  • 如果您绝对必须指定视图中的列,
  • 视图只能在当前database
+0

调整后的错误。 –

相关问题