Domanda

Ho tre righe nel database fuori da quei due sono identiche.Su quelle due stesse righe devo apportare modifiche in uno usando la sybase.ex.

Row1: ABC 456 ancient block
Row2: ABC 456 ancient block
Row3: DEF 678 class   block
.

Devo apportare modifiche in uno dei primi due blocchi cambiando ABC a Xyz. Se ci sono solo due blocchi identici, allora sto facendo il metodo sotto.

begin transaction AA
set rowcount 1
update table 
set col1 = XYZ
where col1 = ABC
commit transaction AA
set rowcount 0
.

È facile se ci sono due righe identiche, ma se due identici e uno diverso allora Sybase seleziona la riga unica e lo aggiorna.Qualcuno può dire come risolvere questo problema di tre file? Sto usando ASEISQL per la Sybase.

È stato utile?

Soluzione

Hai provato:

update top 1 table 
set col1 = XYZ
where col1 = ABC
.

Altri suggerimenti

Questa è la soluzione che ho figurato.

begin transaction a
set rowcount 2
update table 
set col1 = XYZ
where col4 = block

commit transaction a
set rowcount 0
.

Aggiornerà una delle righe duplicate e la riga unica.Quindi aggiornerò la riga unica al suo valore originale separatamente utilizzando l'istruzione di aggiornamento.Conosco il suo suono grezzo ma nessuno ha risposto in modo soddisfacente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top