Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] como hacer un trriger mysql que una dos campos

Estas en el tema de como hacer un trriger mysql que una dos campos en el foro de Mysql en Foros del Web. Hola estoy con el siguiente problema cpon mysql. Necesito un trigger que me una los datos de dos campos en un tercer campo (en la ...
  #1 (permalink)  
Antiguo 24/03/2015, 17:19
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 8 meses
Puntos: 0
Pregunta como hacer un trriger mysql que una dos campos

Hola estoy con el siguiente problema cpon mysql.
Necesito un trigger que me una los datos de dos campos en un tercer campo (en la misma tabla)

Por ejemplo

campo1 = hola
campo2 = mundo

el trigeer tiene que unir despues del insertar los campos campo1 y campo2
campo3 = hola mundo

alguien me puede ayudar
  #2 (permalink)  
Antiguo 24/03/2015, 17:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: como hacer un trriger mysql que una dos campos

la funcion concat no te sirve? y para que el trigger???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 24/03/2015, 17:23
Avatar de 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: como hacer un trriger mysql que una dos campos

Es un trigger absurdo e innecesario. Si tienes los datos para el insert, entonces encadenalos en el tercer campo...
Hacer un trigger para eso es un desperdicio de recursos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 24/03/2015, 18:09
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: como hacer un trriger mysql que una dos campos

es parte un un manual de mysql (ejercicio), que nos dio un profesor
  #5 (permalink)  
Antiguo 24/03/2015, 18:45
Avatar de 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: como hacer un trriger mysql que una dos campos

Muestranos, entonces lo que intentaste.
No regalamos ccódigo, y menos para trabajos prácticos ajenos, que deberías hacer tu solo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 25/03/2015, 21:10
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: como hacer un trriger mysql que una dos campos

hola perdonen, pero ayer ya no pude estar para evaluar esta "tarea".
Como les decia es parte de un curso y en la guia plantea este ejemplo en particular.
La explicacion dice: que un una tabla se tiene que crear un trigger que se ejecute despues de haber insertado los campos "camponombre"y "campo apellido" y que el mismo trigger obtenga los valores camponombrel y campo apellido y los una dentro de otro campo de la misma tabla "CampoNombreCompleto".

Segun yo seria algo com esto. (AUN NO ME SALE)
Código MySQL:
Ver original
  1. CREATE TRIGGER encadenacampos
  2. BEFORE INSERT ON TablaNombre
  3.   SET NEW.CampoNombreCompleto =  IIF(NULLIF(TRIM(NEW.CampoNombreCompleto ), '') IS NULL,
  4.   (
  5.      SELECT camponombre, campoapellido
  6.       FROM TablaNombre
  7.        LIMIT 1
  8.   ), NEW.CampoNombreCompleto );

Última edición por gnzsoloyo; 25/03/2015 a las 21:32
  #7 (permalink)  
Antiguo 25/03/2015, 21:36
Avatar de 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: como hacer un trriger mysql que una dos campos

No compliques innecesariamente las cosas:
Código MySQL:
Ver original
  1. CREATE TRIGGER encadenacampos
  2. BEFORE INSERT ON TablaNombre
  3.   SET NEW.CampoNombreCompleto =  CONCAT(IFNULL(TRIM(NEW.camponombre), ''),' ',  IFNULL(TRIM(NEW.campoapellido), ''));
Y nunca te olvides de la regla numero 1 de un TRIGGER: No puedes hacer operaciones DML ni DDL contra la misma tabla del TRIGGER. Eso no es correcto, y en tu caso ni siquiera es necesario.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campo, campos, sql, tabla, trigger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:27.