首页 > 解决方案 > 如何避免在我的存储过程中使用临时表

问题描述

我想保留tblPurchasetblProductStock表。我的 SQL 如下:

SELECT MAX(ItemName) ItemName,
   ItemCode,
   SUM(Quantity) Quantity
INTO #tmp
FROM tblPurchase
GROUP BY itemCode;

UPDATE tblProductStock
SET Quantity=#tmp.Quantity
FROM #tmp WHERE tblProductStock.ItemCode=#tmp.ItemCode

INSERT INTO tblProductStock
    (
        ItemName,
        ItemCode,
        Quantity
    )
SELECT  ItemName, ItemCode, Quantity FROM #tmp WHERE ItemCode NOT IN (SELECT ItemCode FROM tblProductStock)

DROP TABLE #tmp;

标签: sqlsql-serverstored-procedures

解决方案


推荐阅读