Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/04/2009, 13:02
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Tabla que tome datos de otra tabla

Te pongo un ejemplo de lo que tu necesitarías:

Código sql:
Ver original
  1. mysql> CREATE TABLE tabla1(campo1 INTEGER, campo2 INTEGER);
  2. Query OK, 0 ROWS affected (0.02 sec)
  3.  
  4. mysql> CREATE TABLE tabla2(campo1 INTEGER, campo2 INTEGER);
  5. Query OK, 0 ROWS affected (0.02 sec)
  6.  
  7. mysql> delimiter &&
  8. mysql> CREATE TRIGGER ejemplo_trig after INSERT ON tabla1
  9.     -> FOR each ROW
  10.     -> BEGIN
  11.     -> INSERT INTO tabla2 VALUES(NEW.campo1,NEW.campo2);
  12.     -> end&&
  13. Query OK, 0 ROWS affected (0.02 sec)
  14. mysql> delimiter ;
  15.  
  16. mysql> INSERT INTO tabla1 VALUES(1,2);
  17. Query OK, 1 ROW affected (0.00 sec)
  18.  
  19. mysql> INSERT INTO tabla1 VALUES(1,3);
  20. Query OK, 1 ROW affected (0.00 sec)
  21.  
  22. mysql> INSERT INTO tabla1 VALUES(1,4);
  23. Query OK, 1 ROW affected (0.01 sec)
  24.  
  25. mysql> INSERT INTO tabla1 VALUES(1,4);
  26. Query OK, 1 ROW affected (0.01 sec)
  27.  
  28. mysql> SELECT *FROM tabla1;
  29. +--------+--------+
  30. | campo1 | campo2 |
  31. +--------+--------+
  32. |      1 |      2 |
  33. |      1 |      3 |
  34. |      1 |      4 |
  35. +--------+--------+
  36. 3 ROWS IN SET (0.00 sec)
  37.  
  38. mysql> SELECT *FROM tabla2;
  39. +--------+--------+
  40. | campo1 | campo2 |
  41. +--------+--------+
  42. |      1 |      2 |
  43. |      1 |      3 |
  44. |      1 |      4 |
  45. +--------+--------+
  46. 3 ROWS IN SET (0.00 sec)

Observa que el trigger está programado para que cada que se inserte en la tabla tabla1, se inserte lo mismo en tabla2.
tabla2 tiene los mismos valores que tabla1 y nunca fue necesario hacer el insert.

Espero te sirva.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming