0
我對CTE很新穎 - 當我們定義一個公用表表達式時,我們是否將它創建爲存儲過程,視圖等?例如,如果我有:Common Table Expressions - 我們在哪裏創建一個?查看,存儲過程等?
USE AdventureWorks2012;
GO
WITH DirectReports(ManagerID, EmployeeID, Title, EmployeeLevel) AS
(
SELECT ManagerID, EmployeeID, Title, 0 AS EmployeeLevel
FROM dbo.MyEmployees
WHERE ManagerID IS NULL
UNION ALL
SELECT e.ManagerID, e.EmployeeID, e.Title, EmployeeLevel + 1
FROM dbo.MyEmployees AS e
INNER JOIN DirectReports AS d
ON e.ManagerID = d.EmployeeID
)
SELECT ManagerID, EmployeeID, Title, EmployeeLevel
FROM DirectReports
ORDER BY ManagerID;
GO
我該在哪裏存放這個?我希望我有道理。這是一個我想要存儲在某個地方以供重用的查詢。
CTE始終是實際語句的一個*部分* - 在上述情況下,是一個「SELECT」。你的問題等同於「我應該在哪裏創建一個'SELECT'語句?」 - 顯而易見的答案是,只要你有意義就可以這樣做。 –