2016-12-11 7 views
0

КИ так вот мой код пытается создать представление, но он продолжает говорить мне создать вид должен быть только единственным оператором в партии пыталась все нуждается в помощинекорректной ошибки синтаксиса 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

Пожалуйста, 'GO' на линии перед' CREATE VIEW'. –

+0

Спасибо, что это сработало –

+0

@GordonLinoff Почему бы не написать ответ в качестве ответа? Тогда это больше не останется без ответа. – SqlZim

ответ

0

Многие полезные операторы на SQL Server должны быть в начале партии. К ним относятся create trigger, create stored procedure и многие другие.

Что такое партия? Это в основном блок компиляции. Это также ограничивает область локальных переменных. Я советую вам прочитать о партиях в documentation.

Самый простой способ запустить пакет - использовать GO. Иногда вы можете поставить инструкцию в середине блока кода, и вы не можете использовать GO (скажем, в куске хранимой процедуры). В этом случае вместо этого вы бы использовали динамический SQL.

Смежные вопросы