Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Urgente: Update!!!

Estas en el tema de Urgente: Update!!! en el foro de Bases de Datos General en Foros del Web. Tengo un problema con un update, me da el error: Server: Msg 170, Level 15, State 1, Line 8 Line 8: Incorrect syntax near ')'. ...
  #1 (permalink)  
Antiguo 10/01/2003, 06:07
 
Fecha de Ingreso: enero-2003
Mensajes: 39
Antigüedad: 21 años, 10 meses
Puntos: 0
Urgente: Update!!!

Tengo un problema con un update, me da el error:
Server: Msg 170, Level 15, State 1, Line 8
Line 8: Incorrect syntax near ')'.

El update es:


UPDATE [CMNEM]
SET [PEDIDO]=[PEDIDO]+1
WHERE(
SELECT TOP 1 ALMACEN,SERIE_PED,PEDIDO
FROM [CMNEM]
WHERE NUMERO='02'
ORDER BY FECHA DESC
)


¿alguien me puede ayudar p fa?
  #2 (permalink)  
Antiguo 10/01/2003, 07:21
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 10 meses
Puntos: 0
DRN R:

Realmente no entiendo tu update

UPDATE [CMNEM]
SET [PEDIDO]=[PEDIDO]+1
WHERE(
SELECT TOP 1 ALMACEN,SERIE_PED,PEDIDO
FROM [CMNEM]
WHERE NUMERO='02'
ORDER BY FECHA DESC
)

En primer lugar estas ordenando por fecha entonces debes seleccionar la fecha.

En el where del update debes indicar "donde algo es igual a algo" (o mayor, etc), Algo como esto

update tabla
set campo1 = campo1 + 1
where campo2 = (select campo3 from tabla2)

Me entiendes? Indica mejor que es lo que queres actualizar.

Saludos

Manuel
  #3 (permalink)  
Antiguo 10/01/2003, 11:33
Avatar de joseisrael  
Fecha de Ingreso: noviembre-2002
Ubicación: Maracay, Edo. Aragua
Mensajes: 221
Antigüedad: 22 años
Puntos: 1
Exclamación A ver..

Saludos.

Tengo entendido que el "ORBER BY" es usado para consultas o SELECT de las DB, no para hacer UPDATE.

Suerte.
__________________
Aprender Siempre. Lema de Vida

José Molina
  #4 (permalink)  
Antiguo 10/01/2003, 11:58
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 10 meses
Puntos: 0
JOSEISRAEL:

Perfectamente podrías tenet un update de la siguiente manera:

update tabla
set campo1 = campo1 + 1
where campo2 in (select campo3 from tabla2
order by campo3)

Aunque no tiene razón de ser pues actualizará aún cuando no ordenemos.

Manuel
  #5 (permalink)  
Antiguo 13/01/2003, 08:16
Avatar de joseisrael  
Fecha de Ingreso: noviembre-2002
Ubicación: Maracay, Edo. Aragua
Mensajes: 221
Antigüedad: 22 años
Puntos: 1
De acuerdo

Saludos.

Totalmente de acuerdo MCasanova, pero en ese caso estamos hablando de querys "Anidados", la sentencia SQL UPDATE no contempla en si misma un ORDER BY.... o me equivoco??

En ese caso el ORBER BY es consecuencia de un SELECT anidado dentro del UPDATE.....o me equivoco???

Suerte.
__________________
Aprender Siempre. Lema de Vida

José Molina
  #6 (permalink)  
Antiguo 13/01/2003, 08:53
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 10 meses
Puntos: 0
Cita:
Mensaje original de DRN R

UPDATE [CMNEM]
SET [PEDIDO]=[PEDIDO]+1
WHERE(
SELECT TOP 1 ALMACEN,SERIE_PED,PEDIDO
FROM [CMNEM]
WHERE NUMERO='02'
ORDER BY FECHA DESC
)
JoseIsrael:

Creo que el order by en la consulta de DRN R figura el una select anidada dentro de un update ....o me equivoco???

y también creo que no te distes cuenta de eso ....o me equivoco???

sino no hubieras escrito:

Cita:
Mensaje original de JOSEISRAEL

Saludos.

Tengo entendido que el "ORBER BY" es usado para consultas o SELECT de las DB, no para hacer UPDATE.

Suerte.

__________________
Aprender Siempre. Lema de Vida

José Molina
....o me equivoco???

Saludos

Manuel
  #7 (permalink)  
Antiguo 13/01/2003, 09:23
Avatar de joseisrael  
Fecha de Ingreso: noviembre-2002
Ubicación: Maracay, Edo. Aragua
Mensajes: 221
Antigüedad: 22 años
Puntos: 1
Tienes toda la Razon..

Saludos.

Efectivamente ... ... tienes toda la razón. Así que no tengo nada que decir.

Suerte.
__________________
Aprender Siempre. Lema de Vida

José Molina
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:39.