Comportamiento normal?

05/11/2009 - 17:24 por Luis Mata | Informe spam
Hola

hago esto:

select * from sidetcom where nunumdoc = 80050367

2 2008-00067 0080050367 0 BOL 0 3.34 2008-09-09 00:00:00.000
23 2008-00093 80050367 0 BOL 0 3.34 2008-10-22 00:00:00.000

Luego hago esto:

UPDATE sitabcct set nunumdoc = 80050367 where nunumdoc = 80050367

y solo me actualiza el ultimo registro, porque en el select me reconoce los
2 y en el update solo uno.

Luis

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
05/11/2009 - 17:32 | Informe spam
¿Versión de SQL Server? ¿Puedes postear la definición de la tabla e incluir
esos datos de ejemplo?

En cualquier caso, ¿has echado un vistazo al plan de ejecución?

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"Luis Mata" wrote in message
news:%
Hola

hago esto:

select * from sidetcom where nunumdoc = 80050367

2 2008-00067 0080050367 0 BOL 0 3.34 2008-09-09 00:00:00.000
23 2008-00093 80050367 0 BOL 0 3.34 2008-10-22 00:00:00.000

Luego hago esto:

UPDATE sitabcct set nunumdoc = 80050367 where nunumdoc = 80050367

y solo me actualiza el ultimo registro, porque en el select me reconoce
los 2 y en el update solo uno.

Luis
Respuesta Responder a este mensaje
#2 Luis Mata
05/11/2009 - 17:36 | Informe spam
sql server 2008 std sp2

"Carlos Sacristan" escribió en el mensaje de noticias
news:%
¿Versión de SQL Server? ¿Puedes postear la definición de la tabla e
incluir esos datos de ejemplo?

En cualquier caso, ¿has echado un vistazo al plan de ejecución?

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático


"Luis Mata" wrote in message
news:%
Hola

hago esto:

select * from sidetcom where nunumdoc = 80050367

2 2008-00067 0080050367 0 BOL 0 3.34 2008-09-09 00:00:00.000
23 2008-00093 80050367 0 BOL 0 3.34 2008-10-22 00:00:00.000

Luego hago esto:

UPDATE sitabcct set nunumdoc = 80050367 where nunumdoc = 80050367

y solo me actualiza el ultimo registro, porque en el select me reconoce
los 2 y en el update solo uno.

Luis



Respuesta Responder a este mensaje
#3 aa
05/11/2009 - 17:51 | Informe spam
Lo mas probable es que el select convierta a int y el update le de bolilla
al numero exacto,proba a poner
UPDATE sitabcct set nunumdoc = 80050367 where convert(int,nunumdoc) =
80050367



"Luis Mata" wrote in message
news:%
Hola

hago esto:

select * from sidetcom where nunumdoc = 80050367

2 2008-00067 0080050367 0 BOL 0 3.34 2008-09-09 00:00:00.000
23 2008-00093 80050367 0 BOL 0 3.34 2008-10-22 00:00:00.000

Luego hago esto:

UPDATE sitabcct set nunumdoc = 80050367 where nunumdoc = 80050367

y solo me actualiza el ultimo registro, porque en el select me reconoce
los 2 y en el update solo uno.

Luis
Respuesta Responder a este mensaje
#4 Victor Koch
05/11/2009 - 18:29 | Informe spam
Hola,

Hace esta prueba y danos los resultados

select * from sidetcom where nunumdoc = '80050367'
UPDATE sitabcct set nunumdoc = '80050367' where nunumdoc = '80050367'



Un Saludo, Víctor Koch



"Luis Mata" escribió en el mensaje
news:%
Hola

hago esto:

select * from sidetcom where nunumdoc = 80050367

2 2008-00067 0080050367 0 BOL 0 3.34 2008-09-09 00:00:00.000
23 2008-00093 80050367 0 BOL 0 3.34 2008-10-22 00:00:00.000

Luego hago esto:

UPDATE sitabcct set nunumdoc = 80050367 where nunumdoc = 80050367

y solo me actualiza el ultimo registro, porque en el select me reconoce
los 2 y en el update solo uno.

Luis
Respuesta Responder a este mensaje
#5 hquinones
05/11/2009 - 19:27 | Informe spam
Se supone que nunumdoc es el campo de clave primaria, por que se debe
actualizar en referencia a ese campo o campos, pero veo que tienen diferente
longitud, al parecer es un campo de tipo carácter, si es así los datos que
se ingresan deben tener la misma longitud, (rellenados con cero como el
primer registro)
HQD

"Luis Mata" escribió en el mensaje
news:%
Hola

hago esto:

select * from sidetcom where nunumdoc = 80050367

2 2008-00067 0080050367 0 BOL 0 3.34 2008-09-09 00:00:00.000
23 2008-00093 80050367 0 BOL 0 3.34 2008-10-22 00:00:00.000

Luego hago esto:

UPDATE sitabcct set nunumdoc = 80050367 where nunumdoc = 80050367

y solo me actualiza el ultimo registro, porque en el select me reconoce
los 2 y en el update solo uno.

Luis
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida