2016-12-11 28 views
0

はそうここに私のコードは、ビューを作成しようとしているが、それは私が唯一のバッチ内の唯一のステートメントでなければなりませんビューを作成語っし続けていますOKを試みたすべてが助ける必要がバッチ内の唯一のステートメントでなければなりませんCREATE正しくない構文エラーVIEWが

CREATE VIEW [Vendors List] 
AS 
    SELECT 
     VendorID, 
     SUM(InvoiceTotal) AS [YTD Invoice Total], 
     SUM(PaymentTotal) AS [YTD Payment Total], 
     SUM(CreditTotal) AS [YTD Credit Total] 
    FROM 
     dbo.Invoices 
    GROUP BY 
     VendorID 
+3

'CREATE VIEW'の前に' GO'を付けてください。 –

+0

ありがとうございました –

+0

@GordonLinoffなぜ答えを回答として投稿しませんか?それでは、これはもはや未回答ではありません。 – SqlZim

答えて

0

SQL Serverの多くの便利なステートメントは、バッチの先頭でなければなりません。これらには、create trigger,create stored procedureなどが含まれます。

バッチとは何ですか?それは基本的にコンパイルの単位です。また、ローカル変数の範囲も制限されます。 documentationのバッチについてお読みください。

バッチを開始する最も簡単な方法は、GOを使用することです。場合によっては、コードブロックの途中に文を置くことがあり、GO(たとえば、ストアドプロシージャの本体で)を使用することはできません。この場合、代わりに動的SQLを使用します。

関連する問題