我在数据库中有三行,这两行是相同的。在这两个相同的行中,我必须使用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很容易选择唯一的行并更新它。有人能说出如何解决这三行问题吗? 我正在使用aseisql作为Sybase。
答案 0 :(得分:1)
你试过了吗?
update top 1 table
set col1 = XYZ
where col1 = ABC
答案 1 :(得分:0)
这是我想到的解决方案。
begin transaction a
set rowcount 2
update table
set col1 = XYZ
where col4 = block
commit transaction a
set rowcount 0
它将更新其中一个重复行和唯一行。然后,我将使用update语句分别将唯一行更新为其原始值。我知道它原本粗糙,但没有人满意地回答。