SQL Server - SQL UPDATE

 
Vista:

SQL UPDATE

Publicado por Hubert Caismiro (18 intervenciones) el 18/08/2005 04:05:33
Una manito por favor.
Mas o menos este es mi tabla

MITABLA tiene
micampo1 char(10) este es INDICE
micampo2 char(5)
micampo3 char(4)
micampo4 char(5)
micampo5 char(1)
" "
Tengo la siguiente instruccion

UPDATE mitabla SET micampo3 = 'X' WHERE (SELECT micampo3 TOP 1 FROM mitabla WHERE micampo3 ='01')

Lo que hace es actulizar solo un registro de acuerdo a la instruccion SELECT.
Realmente hace la actualizacion. pero quisiera determinar tambien es cual es el
registro que actualiza (si pudiera saber cual el micampo1 que es el indice )

Como o con que instrucciones logro capturar el registro afectado (solo es 1) al menos el campo micampo1.
Estoy accediendo a la Base de datos con ADO.

Quisas es otro el procedimiento, favor de ayudarme en esto.

Quedo muy agradecido de Uds.
Cordialmente.

Hubert Casimiro Taco
Peru.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:SQL UPDATE

Publicado por Liliana (151 intervenciones) el 18/08/2005 16:50:56
Hola Hubert,
La opción TOP no te asegura devolverte siempre la misma fila a menos que pongas un ORDER BY.
Mi sugerencia es ordenar la consulta con TOP primero:

SELECT TOP 1 micampo3
FROM mitabla
WHERE micampo3 ='01'
ORDER BY micampo1

Esto te dará la clave de la fila a actualizar.
Y a continuación hacer el UPDATE modificando la subconsulta.

UPDATE mitabla
SET micampo3 = 'X'
WHERE (SELECT TOP 1 micampo3 FROM mitabla WHERE micampo3 ='01' ORDER BY micampo1)

Saludos, Liliana.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar