Ver Mensaje Individual
  #18 (permalink)  
Antiguo 01/10/2013, 11:52
daicon
 
Fecha de Ingreso: julio-2010
Mensajes: 134
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: TRigger. Set @var en consulta.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No son "comillas simples", las cuales en realidad no existen sino que son serían los apóstrofos ('), sino acentos agudos (`).
Los acentos agudos se usan en MySQL (y otros DBMS) cuando debes usar nombres de objetos que contienen palabras reservadas (caso NAME), o bien caracteres ilícitos en ellos (signos +, - y cosas así), que por razones de necesidad no pueden ser normalizados.
Esos signos permiten usar ese tipo de cosas sin generar un error de sintaxis que luego no podrás diagnosticar adecuadamente porque no parecerá existir.
Algunas palabras reservadas se aceptan por compatibilidad, pero es mejor acostumbrarse a nunca usaras.
En cuanto a las mayúsculas, es un arma de doble filo: Si usas Windows, no tendrás problemas. Pero si estás usando un servidor basado en Unix (Linux, por ejemplo), tendrás problemas, porque el sistema operativo en ese caso diferencia entre mayúsculas y minúsculas.
En este último caso, tablas llamadas usuarios, uSuArios, Usuarios, y USUARIOS, se toman como tablas distintas.
Vale, lo tendre muy en cuenta, algunas cosas las conocía, pero otras no!

Bueno, ahora te voy a contar una cosa que me esta pasando, que te vas a reir... y no se si tiene solución.....

Todo iba muy bien con la solución que me habias dicho hasta que he empezado a hacer pruebas reales, y me he dado cuenta del pedazo de FAIL.

Como te comente antes,
Cada BD, tiene en algunas tablas un trigger que lanza un update a la BD Principal.
Y esa a su vez lanza el trigger que hemos estado discutiendo para propagar la información a las otras BD.

¿Qué ocurre? Pues que entra en un bucle
Estas otras bd, detectan que se ha actualizado, y lanzan nuevamente el trigger para la BD principal. Menos mal que Mysql lo detecta, y me manda este error:
Can't update table 'UsuNal' in stored function/trigger because it is already used by statement which invoked this stored function/trigger

El problema es que aparece el error en la web .... joder, que cagada....
Hay forma de solucionar esto?

Ya estaba CASI solucionado!!!!!!!