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

Select dentro de un update

Estas en el tema de Select dentro de un update en el foro de Mysql en Foros del Web. Hola ! Estoy tratando de actualizar sueldos, seteando con valores maximos. Algo asi: UPDATE empleados SET sueldo = (select max(sueldo) from empleados) pero no anda ...
  #1 (permalink)  
Antiguo 08/06/2010, 09:32
 
Fecha de Ingreso: febrero-2010
Mensajes: 132
Antigüedad: 14 años, 2 meses
Puntos: 0
Exclamación Select dentro de un update

Hola !
Estoy tratando de actualizar sueldos, seteando con valores maximos. Algo asi:

UPDATE empleados SET sueldo = (select max(sueldo) from empleados)

pero no anda !!!
a que se debe ?? No se puede usar un select dentro de un update ??
Si es asi que horrorrrrr.

gracias...
  #2 (permalink)  
Antiguo 08/06/2010, 09:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Select dentro de un update

Porque no puedes escribir y seleccionar sobre la misma tabla. La tabla está bloqueada para proteger el subproceso.
Es una restricción estándar de los DBMS.

Además, la operación que quieres hacer se hace siempre en dos pasos: Primero obtienes el valor, y luego lo mandas a insertar/actualizar.
Distinto sería si operases con dos tablas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: select, update
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 23:57.