Sybase의 두 개의 동일한 행에서 한 행을 업데이트하십시오.
-
21-12-2019 - |
문제
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 문을 사용하여 독창적 인 행을 원래 값으로 업데이트합니다.나는 그것의 소리가 아는 것을 안다. 그러나 아무도 만족스럽게 대답하지 않았다.
제휴하지 않습니다 StackOverflow