Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/02/2009, 18:43
The_Clansman
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: duda con triggers

Cita:
Iniciado por gulp Ver Mensaje
¿se puede hacer un trigger de 1 tabla con un campo específico?
Para aclarar mas, expongo un ejemplo.
Tengo 1 tabla llamada "obraSocial " con 2 datos: idObraSocial y nombreOS
Tengo una tabla "paciente" y tiene un campo llamado obraSocialPaciente que es del tipo ENUM (osde, ospla, pami)

¿Se puede hacer en un trigger que cuando agrego un registro a la tabla "obraSocial " se agregue al registro obraSocialPaciente de la tabla "Paciente"? osea, que se le agregue al tipo de dato ENUM

x ej. agrego a la tabla "obraSocial " Fleni
que se agregue en obraSocialPaciente (osde, ospla, pami, Fleni)

si se puede, como podria ser?
Código:
CREATE TRIGGER trigger_paciente_obrasocial AFTER UPDATE ON obrasocial 
   FOR EACH ROW
   INSERT INTO paciente.obraSocial(nombreOS)
   VALUES......¿?
compañero! no le entiendo eso de "Tengo una tabla "paciente" y tiene un campo llamado obraSocialPaciente que es del tipo ENUM (osde, ospla, pami)
" que es eso de ENUM(osde, ospla,pami)??

en fin! lo que te entiendo es que deseas pasar un dato de una tabla a otra sin q el usuario lo sepa.

este es un ejemplo de una base de datos q sigo desarrollando!! tengo una tabla llamada zapatos y otra llamada audi_zapatos.

la tabla audi_zapatos tiene de campos:
cod_zapato,
tamano,
cantidad,
fecha_ingreso,
fecha_salida

la tabla zapatos lleva:
cod_zapato pk,
tamano pk,
marca,
color,
sexo,
cantidad,
fecha_ingreso,


CREATE
/*!50017 DEFINER = 'root'@'localhost' */
TRIGGER `after_insert_zapa` AFTER INSERT ON `zapatos`
FOR EACH ROW BEGIN
insert into audi_zapatos(cod_zapato,tamano,cantidad,fecha_ingr eso)values(new.cod_zapato,new.tamano,new.cantidad, CURRENT_DATE());

END;
$$

DELIMITER ;

con este triggers copio ciertos datos de la tabla zapatos a la tabla audi_zapatos. espero te sirva!!
y eso es despues del insert! analiza el codigo!! yo lo acabo de hacer y me salio!! jejeje