«CREATE FUNCTION» должно быть единственным заявлением в партии
Я следую за книгой Microsoft SQL Server 2012 Патриком Лебланком. Когда я использую пример в книге для создания встроенных табличных функций, я получаю ошибку в заголовке этого сообщения. Я попытался создать код, щелкнув правой кнопкой мыши функцию «Функции» -> новый -> встроенная таблица, а затем изменил код. Я также написал весь код из книги. Как я вижу, у меня есть оператор GO перед оператором CREATE FUNCTION. Код выглядит так, любая идея, что вызывает это?
USE AdventureWorks2016CTP3; SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION dbo.GetOrderDetails ( @SalesOrderID int ) RETURNS TABLE AS RETURN ( SELECT sod.SalesOrderID, sod.SalesOrderDetailID, sod.CarrierTrackingNumber p.Name AS ProductName, so.Description FROM Sales.SalesOrderDetail AS sod INNER JOIN Porduction.Product AS p ON sod.ProductID = p.ProductID INNER JOIN Sales.SpecialOffer AS so ON sod.SpecialOfferID = so.SpecialOfferID WHERE sod.SalesOrderID = @SalesOrderID ) GO
Это выглядит почти правильно –
поставить запятую после
sod.CarrierTrackingNumber
и изменение
INNER JOIN Porduction.Product AS p
в
INNER JOIN Production.Product AS p
(примечание «производство» было написано неправильно)
изменить: плохое форматирование.