在sybase中仅在两个相同的行中更新一行
-
21-12-2019 - |
题
我在数据库中有三行,其中两个是相同的。出于两行,我必须使用Sybase.ex进行更改。
Row1: ABC 456 ancient block
Row2: ABC 456 ancient block
Row3: DEF 678 class block
.
我必须通过将abc转换为xyz,在前两个块中的一个中进行更改。如果只有两个相同的块,那么我正在执行以下方法。
begin transaction AA
set rowcount 1
update table
set col1 = XYZ
where col1 = ABC
commit transaction AA
set rowcount 0
.
如果有两个相同的行很容易,但如果两个相同且一个不同的Sybase选择唯一的行并更新它。有人可以讲述如何解决这三行问题吗? 我正在使用Sybase的Aseisql。
解决方案
你试过:
update top 1 table
set col1 = XYZ
where col1 = ABC
. 其他提示
这是我图案的解决方案。
begin transaction a
set rowcount 2
update table
set col1 = XYZ
where col4 = block
commit transaction a
set rowcount 0
.
它将更新一个重复的行和唯一行。然后,我将单独使用Update语句将唯一行更新为其原始值。我知道它的声音原油,但没有人令人满意。
不隶属于 StackOverflow