Ver Mensaje Individual
  #10 (permalink)  
Antiguo 12/07/2011, 03:36
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Como crear triggers

Te aclaro los detalles:

1) Yo sólo te estoy diciendo cómo se crea una variable de usuario en MySQL, no qué quieres cargar en ella. Eso es tu decisión. Si quieres poner una letra, una cadena, un número, para el caso es igual y dependerá de lo que necesites poner en esa variable.

2) Las variables de usuario no se declaran, se inicializan. Se pueden usar sin inicializar, pero entonces su valor es NULL, por eso se debe asignar un valor antes de usarlas, aunque más no sea para definir el tipo de datos que manejarán. Sólo se declaran las variables locales de los stored procedures, functions y triggers, pero esas no llevan "@" y no se pueden usar fuera de esas rutinas.

3) Si vas a usar el valor, como en cualquier lenguaje, debes cargar la variable antes, de lo contrario el valor no existirá. En dónde lo pongas en tu script PHP dependerá de tí. Yo te sugerí dos opciones prácticas, el resto dependerá de la lógica de tu programación. Por eso mi sugerencia es hacerlo después de abrir la conexión.

4) Ten en cuenta que las variables de usuario dependen del subproceso de conexión, mueren al cerrarse la misma. Mientras tanto conservan el valor que se les asigne la última vez (esto permite hacer consultas con un grado de dinamismo notable).


5) SET, dentro de otras sentencias es cláusula, fuera de toda sentencia es sentencia porque los contextos son distintos, y como tal se usa en los scripts de PHP: como otra sentencia más de SQL, pero sólo para las variables de usuario.

Si quieres ver algunos usos de las variables de usuario, lee las FAQs de MySQL:
¿Cómo numerar secuencialmente una consulta, sin usar PK?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 12/07/2011 a las 06:15