繁体   English   中英

如何用不同的值更新同一列?

[英]How to update the same column with different values?

我正在寻找一种解决方案,根据 ID 列中的键更新具有不同值的同一列。

ID Result_Required(ID+seq 中的字母)
A1 A1_abc
A1 A1_def
A1 A1_ghi
A2 A2_abc
A3 A3_abc
A3 A3_def
: . : .
一个) AN_something

我正在查看此参考链接,但未定义的 ID 数量是不可行的。

因此,正如您所说,您有一个存储过程,可以找到您需要的所有字符串。 因此,您可以通过构建一个如下所示的字符串来更改您的存储过程:

WHEN ID = 'A23' then 'somestring'

每个元素都会有一个像上面这样的文本块。 您需要连接成一个变量,我现在将其称为value

这就是您的UPDATE的外观:

UPDATE yourtable SET res = <concatenate value here>;

可能出现的问题:

大型更新

如果建议的方法太慢或占用太多 memory,那么您可以将更新分解为批次并将范围添加到where子句。

差距

在您进行更新之前,建议确保所有假定存在的记录确实存在并且清除了不必要的记录,因此您的update假设是合理的。

构建 WHEN 元素

如果你有一个 cursor 并循环它,你可以使用一个索引,从 1 开始并以最后一个元素 n 结束,并始终为你的 ID 构建一个文本数据。 根据您的示例,它似乎是A<theindexnumber>的形式。 您的案例中的实际规则可能不同,因此您需要实现一种算法,将您的索引可靠地映射到文本应该更新到的相应 ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM