我需要同时更新数据库中的几行。现在的问题是,我只会知道第一行的唯一 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 保存了)?
相关分类