我在数据库中有三行,其中两个是相同的。出于两行,我必须使用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语句将唯一行更新为其原始值。我知道它的声音原油,但没有人令人满意。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top