SqlServer2008实例27临时表和表变量之使用临时表在批处理中进行多次查找

CREATE TABLE #ProductCostStatistics
(
    ProductID int NOT NULL PRIMARY KEY,
    AvgStandardCost money NOT NULL,
    ProductCount int NOT NULL
)

INSERT #ProductCostStatistics
    (ProductID,AvgStandardCost,ProductCount)
SELECT ProductID,
       AVG(StandardCost) avgStandardCost,
       COUNT(ProductID) Rowcnt
FROM Production.productCostHistory
GROUP BY ProductID

SELECT TOP 3 *
FROM #ProductCostStatistics
ORDER BY AvgStandardCost ASC

SELECT TOP 3 *
FROM #ProductCostStatistics
ORDER BY AvgStandardCost DESC

SELECT AVG(AvgStandardCost) Average_of_AvgStandardCost
FROM #ProductCostStatistics

DROP TABLE #ProductCostStatistics

SqlServer2008实例27临时表和表变量之使用临时表在批处理中进行多次查找

 这个例子创建了一个叫做#ProductCostStatistics的临时表。我们向它插入行,与对普通表的操作一样,然后查询临时表3次(也和普通表一样),然后删除临时表。使用和普通表相同的语法来创建和查询表,只是临时表的名字有#符号作为前缀。在原始查洵需要很长时间柬执行的情况下,这是一项可以考虑的技术。