公共表表達式 (CTE) 語句中的分號
在 SQL Server 中,公共表表達式 (CTE)語句通常在語句前包含分號語句,如下例所示:
;WITH OrderedOrders AS --semicolon here ( SELECT SalesOrderID, OrderDate, ROW_NUMBER() OVER (ORDER BY OrderDate) AS 'RowNumber' FROM Sales.SalesOrderHeader ) SELECT * FROM OrderedOrders WHERE RowNumber BETWEEN 50 AND 60
這個分號主要有兩個作用目的:
..FROM..WITH (NOLOCK).. RESTORE..WITH MOVE..
為了防止混淆,分號用於在WITH之前終止語句,以區別於其他語句use.
一起使用時,這些因素決定 CTE 語句應在WITH 子句之前終止,以避免歧義。因此,在WITH之前插入分號以確保語句的正確解析。
此規則也適用於MERGE指令,該指令對語句前的分號也有類似的要求。
以上是為什麼在 SQL Server 中的公用表格運算式 (CTE) 之前使用分號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!