Patrick LeBlancの本「Microsoft SQL Server 2012」に従っています。インラインテーブル値関数を作成するための例題を使ってこの記事のタイトルに誤りがあります。私は、関数 - >新規 - >インラインテーブル値関数を右クリックしてコードを作成しようとしましたが、コードを変更しました。私は本からコード全体を書きました。私が見る通り、CREATE FUNCTIONステートメントの前に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 'がありません。すべてが細かく見える以外は –
GOを下に移動して実行するまで、CREATE FUNCTIONをすべて強調表示して実行してください。 – Eric