2016-07-06 42 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

調整後的錯誤。 –

相關問題