Actualizar una fila solo de dos filas idénticas en Sybase
-
21-12-2019 - |
Pregunta
Tengo tres filas en la base de datos de esas dos son idénticas.De esas dos filas mismas tengo que hacer cambios en uno usando el sybase.ex.
Row1: ABC 456 ancient block
Row2: ABC 456 ancient block
Row3: DEF 678 class block
Tengo que hacer cambios en uno de los dos primeros bloques cambiando ABC a XYZ. Si solo hay dos bloques idénticos, entonces estoy haciendo el método a continuación.
begin transaction AA
set rowcount 1
update table
set col1 = XYZ
where col1 = ABC
commit transaction AA
set rowcount 0
Es fácil si hay dos filas idénticas, pero si dos idénticas y una diferente, Sybase seleccione la fila única y la actualiza.¿Alguien puede decir cómo resolver este problema de tres filas? Estoy usando ASEISQL para el sybase.
Solución
has intentado:
update top 1 table
set col1 = XYZ
where col1 = ABC
Otros consejos
Esta es la solución que pensé.
begin transaction a
set rowcount 2
update table
set col1 = XYZ
where col4 = block
commit transaction a
set rowcount 0
Actualizará una de las filas duplicadas y la fila única.Luego actualizaré la fila única a su valor original por separado utilizando la declaración de actualización.Conozco su crudo, pero nadie ha respondido satisfactoriamente.