更新 SQL Server 查询循环直到达到 X 数

我需要同时更新数据库中的几行。现在的问题是,我只会知道第一行的唯一 ID,但之后我将有 X 行其他行,也需要使用一些数据进行更新。我会知道我需要多少个循环才能更新它们——只需要知道如何去做。


我的查询如下所示:


UPDATE bLine 

SET @val1 

WHERE theGuid = @val2;

现在@val1 的数据如下所示:


ID | qty_SerialNum | qty_Location | qty_Property | theGUID 

---+---------------+--------------+--------------+---------------------------

5  | 6845fg56      | Home         | NA           | a45vz-u300-2bd-4710j-vf09

6  | fk469fkh      | Dock#4       | NA           |

7  | geww2         | Dock#1       | Local        |

...

当在字符串中为@val1发送时:


@val1 = qty_SerialNum = '6845fg56,fk469fkh,geww2',

        qty_Location = 'Home,Dock#4,Dock#1',

        qty_Property = 'NA,NA,Local' 

@val2 = theGUID = 'a45vz-u300-2bd-4710j-vf09'

所以这一切都很好,因为我知道需要更新的第一行的GUID,但之后的每一行我都不知道。


所以第一个更新看起来像 3 个:


UPDATE

   bLine

SET

   (qty_SerialNum = '6845fg56',qty_Location = 'Home',qty_Property = 'NA' )

WHERE 

   theGuid = 'a45vz-u300-2bd-4710j-vf09';

这将是 3 个更新中的第 2 个更新:


UPDATE

   bLine

SET

   (qty_SerialNum = 'fk469fkh',qty_Location = 'Dock#4',qty_Property = 'NA' )

WHERE 

   ???? = ????;

最后,这将是 3 个更新中的第 3 个:


UPDATE

   bLine

SET

   (qty_SerialNum = 'geww2',qty_Location = 'Dock#1',qty_Property = 'Local' )

WHERE 

   ???? = ????;

所以这里的问题是 - 我如何遍历接下来的 X 行并使用@val1 中的 2,3,... 值更新该信息(跳过第一个,因为它已经通过 theGUID 保存了)?


莫回无
浏览 140回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP