我正在关注Patrick LeBlanc撰写的Microsoft SQL Server 2012一书。当我使用本书中的示例创建内联表值函数时,我在本文的标题中得到错误。我尝试通过右键单击“功能” - >来创建代码。新的 - >内联表值函数然后更改代码。我还从书中写了整个代码。我可以看到我在CREATE FUNCTION语句之前有GO语句。 代码看起来像这样,任何想法导致了什么?
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
答案 0 :(得分:5)
看起来几乎正确 -
在
之后加上逗号sod.CarrierTrackingNumber
并更改
INNER JOIN Porduction.Product AS p
到
INNER JOIN Production.Product AS p
(注意“生产”拼写错误)
编辑:格式错误。