Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/08/2006, 01:09
Avatar de -=ArgoN=-
-=ArgoN=-
 
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Exclamación AYUDA!! Hacer ROLLBACK de la ultima consulta ejecutada.

Hola de nuevo...
Ayer por la noche ejecute una query con resultados fatales
Estaba usando el "SQL Query Analyzer" (Analizador de consultas SQL) y ejecute la siguiente consulta:

UPDATE SKILL_T SET sSkillMastery=100 WHERE CharID=1003 AND sSkillID=1 OR sSkillID=2 OR sSkillID=7 OR sSkillID=9 OR sSkillID=10 OR sSkillID=11 OR sSkillID=12 OR sSkillID=13 OR sSkillID=14 OR sSkillID=19 OR sSkillID=23

Con lo cual de la tabla SKILL_T me puso a 100 todos los "sSkillMastery" cuyo sSkillID fuese de 1 o 2 o 7... etc

La consulta que deberia haber hecho seria:

UPDATE SKILL_T SET sSkillMastery=100 WHERE CharID=1003 AND (sSkillID=1 OR sSkillID=2 OR sSkillID=7 OR sSkillID=9 OR sSkillID=10 OR sSkillID=11 OR sSkillID=12 OR sSkillID=13 OR sSkillID=14 OR sSkillID=19 OR sSkillID=23)

De forma que en todos los casos CharID deberia haber sido igual a 1003. (me olvide el parentesis!!! )

Mi pregunta es, si no he usado el comando COMMIT ni he cerrado el Analizador de consultas, puedo llegar a hacer un ROLLBACK del ULTIMO UPDATE realizado en el mismo analizador de consultas?

Es URGENTISIMO... nunca me habia pasado nada igual, y todo por no hacer un select antes de hacer el update

Si se puediera hacer el rollback de este ultimo UPDATE les estaria toda una vida agradecido!!!

ArgoN