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