需求:需要遍历一组物料,找到每个物料今年采购过的供应商信息 并做后续查询。
--游标遍历获取每个物料的对应供应商,以键值对形式保存在临时表#temp2中
IF object_id('tempdb..#temp2') is not null
DROP TABLE #temp2
CREATE TABLE #temp2
(
FitemID int,
FSupplierID int
)
-- 声明变量
DECLARE @FitemID AS INT
DECLARE @FSupplierID AS INT
-- 声明外层游标
DECLARE Find_Supplier CURSOR FAST_FORWARD FOR
SELECT TOP 20 FItemID
FROM #temp1
ORDER BY FAmountsum desc
OPEN Find_Supplier;
-- 取第一个物料
FETCH NEXT FROM Find_Supplier INTO @FitemID;
WHILE @@FETCH_STATUS=0
BEGIN
-- 设置内层游标
DECLARE Insert_Supplier CURSOR FAST_FORWARD FOR
SELECT DISTINCT A.FSupplyID FROM ICPurchase A
left join ICPurchaseEntry B on A.FInterID =B.FInterID
left

本文介绍了如何在SQLSERVER中通过游标嵌套的方式,遍历物料列表,查找每个物料今年的供应商信息,并将这些信息存储到临时表#temp2中。首先创建了一个外层游标来遍历物料,然后对每个物料,用内层游标查找对应的采购供应商,最终将结果插入临时表。
829

被折叠的 条评论
为什么被折叠?



