Нет, представление состоит из одного оператора SELECT
. Вы не можете создавать или удалять таблицы в представлении.
Может быть, общее табличное выражение (CTE) может решить вашу проблему. CTE - это временные наборы результатов, которые определены в области выполнения одного оператора и могут использоваться в представлениях.
Пример (взят из здесь ) - вы можете думать о SalesBySalesPerson
CTE как о временной таблице:
CREATE VIEW vSalesStaffQuickStats
AS
WITH SalesBySalesPerson (SalesPersonID, NumberOfOrders, MostRecentOrderDate)
AS
(
SELECT SalesPersonID, COUNT(*), MAX(OrderDate)
FROM Sales.SalesOrderHeader
GROUP BY SalesPersonID
)
SELECT E.EmployeeID,
EmployeeOrders = OS.NumberOfOrders,
EmployeeLastOrderDate = OS.MostRecentOrderDate,
E.ManagerID,
ManagerOrders = OM.NumberOfOrders,
ManagerLastOrderDate = OM.MostRecentOrderDate
FROM HumanResources.Employee AS E
INNER JOIN SalesBySalesPerson AS OS ON E.EmployeeID = OS.SalesPersonID
LEFT JOIN SalesBySalesPerson AS OM ON E.ManagerID = OM.SalesPersonID
GO