Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/01/2009, 13:47
bellleti
 
Fecha de Ingreso: abril-2008
Mensajes: 144
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: se puede consultar y insertar a la vez?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
existen en este tipo de operaciones una serie de restricciones de consistencia:
1. No se puede leer y borrar un registro en la misma operación. Sería como tratar de cortar la rama sobre la que estás parado en un árbol.
2. No se puede actualizar el mismo registro que se está leyendo. MySQL no puede saber a priori si el dato que estás modificando no es el mismo que usó para encontrar el registro.
3. No puedes hacer un JOIN sobre la misma tabla para realizar operaciones de DDL o DML. Esas operaciones pueden dar lugar a inconsistencias en el proceso.
4. No se pueden implementar operaciones de UPDATE sobre la misma tabla en un TRIGGER. Por las mismas razones más la básica: estarías haciendo un ciclo recursivo eterno.

Si lo meditas, las restricciones salen de la lógica propia característica de las operaciones invocadas. Algunas de estas no aparecen en los manuales o en los tutoriales porque son restricciones elementales en programación en todos los lenguajes, por lo que son conocidas por los programadores (vox populi).
De todos modos no está de más aclararlas. A veces a uno se le olvidan.

En esencia, lo que tratas de lograr es hacer la menor cantidad de operaciones para obtener los mayores resultados. Eso no siempre se puede lograr, y de todos modos, cuando trabajas con datos, es mejor hacer las cosas en forma ortodoxa, porque un diseño de consulta mal realizado puede significar meses de datos perdidos...
Es mejor hacer las operaciones por parte.

muchas gracias!!! otra pequeña question.. se puede hacer prefijos en uptades tambien? como asi....

UPDATE granges g,
missatges m SET m.llegit =1 WHERE g.usuari LIKE 'genero' AND m.llegit =0 AND m.DATA = '27-01-2009'

gracias