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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top