문제

I 두 개의 데이터베이스에서 3 개의 행이 동일합니다.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