Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
220 views
in Technique[技术] by (71.8m points)

c# - Update tblProductStock table when Insert New record to tblPurchase table

ALTER PROCEDURE [dbo].[spPassPurchaseDataToProductStock]
AS
BEGIN
    SELECT MAX(ItemName) ItemName, ItemCode, SUM(Quantity) Quantity
    INTO #tmp
    FROM tblPurchase
    GROUP BY itemCode;

    UPDATE tblProductStock
    SET Quantity = #tmp.Quantity
    FROM #tmp 
    WHERE 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;
END
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I think that SQL Server Trigger Can help you to solve this problem. A trigger is a special type of stored procedure that automatically runs when an event occurs in the database server.

   CREATE TRIGGER <TriggerName>  
   ON ProductStock  
   AFTER INSERT | UPDATE 
   AS  { sql_statement }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...