gpt4 book ai didi

c# - SQL模拟一个foreach

转载 作者:行者123 更新时间:2023-11-30 19:57:17 25 4
gpt4 key购买 nike

<分区>

我必须为在另一个表中找到的每一行插入 7 行到一个表中,我目前正在这样做是我的 C# 应用程序,但对于一个相对较小的数据库来说,它的速度非常慢。

我想将其移动到一个查询中,最好的方法是使用 foreach 循环,但 SQL 没有此功能,因此必须使用 WHILE 循环。

但是我什至无法进入插入部分,因为我无法循环遍历行,这是到目前为止我的 SQL

DECLARE @cnt INT = 0;

SELECT ResNo FROM Res WHERE TSGrNo = 1;

print 'row cnt';
print @@RowCount; -- prints 0 even though 6 rows are returned

WHILE @cnt < @@Rowcount
BEGIN
print @cnt;
--In here I need to do this
-- INSERT INTO tbl (_,tbl.ResNo,_, _, _)
-- VALUES (_,Row.ResNo,_,_,_)
SET @cnt = @cnt + 1;
END

有谁知道更好更有效的方法吗?

编辑:

这是我现在的位置

DECLARE @_R1 INT = 7, @_Date INT = 20150608

SELECT *
FROM Res r
WHERE NOT EXISTS
(
SELECT *
FROM Vis_ResR rr
WHERE rr.ResNo = r.ResNo
AND rr.Date = @_Date
)
AND r.TSGrNo = 1
AND r.R1 = @_R1

INSERT INTO Vis_ResR (R1, ResNo, Vis_ResR.Date, FrTm, ToTm)
VALUES (@_R1,r.ResNo,@_Date,0,0)

@_R1 和@_Date 将在发送查询之前设置,我只是不明白如何使用 r.ResNo 值使其插入

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com