Sql server 在插入到其他表之前,如何在存储过程中求和和和分组
我有表Sql server 在插入到其他表之前,如何在存储过程中求和和和分组,sql-server,stored-procedures,Sql Server,Stored Procedures,我有表Purchasing.tblGoodsReceive(表A)和Accounting.tblGeneralLedger(表B) 我想编写一个存储过程,将数据插入tableA,然后插入tableB,但在tableB中,我只想插入Sum和Group By 有关插图,请参见屏幕截图 INSERT INTO Purchasing.tblGoodsReceive (GoodsReceiveID, DateReceived, DeliveryOrder, VendorID, Warehouse, Pos
Purchasing.tblGoodsReceive
(表A)和Accounting.tblGeneralLedger
(表B)
我想编写一个存储过程,将数据插入tableA,然后插入tableB,但在tableB中,我只想插入Sum和Group By
有关插图,请参见屏幕截图
INSERT INTO Purchasing.tblGoodsReceive (GoodsReceiveID, DateReceived, DeliveryOrder, VendorID, Warehouse, PostingToGJ, ReceivedBy, CheckedBy, CorrectionBy, ApprovedBy, AcceptedBy, CreatedBy)
OUTPUT inserted.ID INTO @NewID(ID)
VALUES (@Param1, @Param2, @Param3, @Param4, @Param5, @Param5a, @Param6, @Param6a, @Param6b, @Param6c, @Param6d, @Param7);
MERGE Purchasing.tblGoodsRecieveDetail AS old
USING (SELECT
x.value('ID[1]', 'int') AS ID,
x.value('GoodsRecieveID[1]', 'int') AS GoodsRecieveID,
x.value('NoInvoice[1]', 'int') AS NoInvoice,
x.value('NoPO[1]', 'int') AS OrderID,
x.value('ItemID[1]', 'int') AS ItemID,
x.value('ReceivedQty[1]', 'int') AS ReceivedQty,
x.value('UnitPrice[1]', 'money') AS UnitPrice,
x.value('Complete[1]', 'bit') AS Complete,
@ParamRateItem AS RateID
FROM
@ParamXml1.nodes('/NewDataSet/vItemsReceivingItem') XmlData(x)) AS new ON (new.ID = old.ID)
WHEN NOT MATCHED AND new.ItemID IS NOT NULL
THEN
INSERT (GoodsReceiveID, NoInvoice, OrderID, ItemCode, ReceivedQty, UnitPrice, Complete, RateID)
Values((SELECT ID FROM @NewID), new.NoInvoice, new.OrderID, new.ItemID, new.ReceivedQty, new.UnitPrice, new.Complete, new.RateID);
有关插图,请参见屏幕截图
能否将INSERT语句的SQL查询提供给表A.INSERT(GoodsRecieveID、NoInvoice、OrderID、ItemCode、ReceivedQty、UnitPrice、Complete、RateID)值((从@NewID中选择ID)、new.NoInvoice、new.OrderID、new.ItemID、new.ReceivedQty、new.UnitPrice、new.Complete、new.RateID);我正在使用Xml插入表格A您有一个更新查询,该查询将列“COMPLETE”设置为true?您的屏幕截图和上面的脚本不在一起。为什么要使用Xml变量插入表格B?根据您的屏幕截图,您的AccountID在脚本中的何处?能否将insert语句的SQL查询提供给表格A。insert(GoodsRecieveID、NoInvoice、OrderID、ItemCode、ReceivedQty、单价、完成、RateID)值((从@NewID中选择ID)、new.NoInvoice、new.OrderID、new.ItemID、new.ReceivedQty、new.UnitPrice、new.Complete、new.RateID);我正在使用Xml插入TableA您有一个更新查询,该查询将列“COMPLETE”设置为true?您的屏幕截图和上面的脚本不在一起。为什么要使用Xml变量插入TableB?根据您的屏幕截图,脚本中的AccountID在哪里?