Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/12/2017, 05:38
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: 16 años, 4 meses
Puntos: 2658
Respuesta: crear una variable por defecto en un trigger mysql

En MySQL las variables locales de rutinas almacenadas (triggers, functions, stored procedures, events), NO USAN "@". Se definen directamente por su nombre:
Código SQL:
Ver original
  1. DECLARE nombre VARCHAR(30);
  2. SET nombre = CONCAT(OLD.nombre,' ',OLD.apellido);

Las variables que usan "@" son denominadas "variables de sesión" o "de conexión", y son persistentes en la misma conexión aunque el proceso que las usa termine si no termina la conexión, así como sus valores. No se las crea ni declara, sino que se INICIALIZAN, dado que su valor inicial es NULL, y toda operación con NULLL da por resultado NULL (no olvidar esto).
Tampoco tienen tipo de dato, por lo que adoptan el tipo del valor que se les asigna.
Es una de las diferencias con SQL Server que debe tenerse en cuenta.

Código SQL:
Ver original
  1. SET @nombre  = CONCAT(OLD.nombre,' ',OLD.apellido);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)