tsunamigue

Untitled

May 16th, 2014
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.47 KB | None | 0 0
  1. -- log/auditoria
  2.  
  3. CREATE TABLE auditoria_movimientos
  4. (
  5. id_mov INT NOT NULL auto_increment,
  6. cod_cuenta VARCHAR(100),
  7. fecha_ant DATETIME,
  8. cantidad_ant INT,
  9. cod_cuenta_n VARCHAR(100),
  10. fecha_n DATETIME,
  11. cantidad_n INT,
  12. usuario VARCHAR(40),
  13. feca_mod DATETIME,
  14. PRIMAR KEY(id_mov))
  15. ENGINE InnoDB;
  16.  
  17. CREATE TRIGGER t_auditoria
  18.     AFTER UPDATE ON movimientos
  19.     FOR EACH ROW
  20.     BEGIN
  21.         INSERT INTO auditoria_movimientos
  22.         (cod_cuenta_ant, fecha_ant,cantidad_ant
  23.         cod_cuenta_n, fecha_n, cantidad_n,
  24.         usuario, fecha_mod)
  25.         VALUES
  26.         (OLD.cod_cuenta, OLD.fecha, OLD.cantidad,
  27.         NEW.cod_cuenta, NEW.fecha, NEW.cantidad, CURRENT_USER(),NOW());
  28.         END;
  29.  
  30. -- EVENTOS
  31.  
  32. -- -Una ocasión
  33.  
  34. -- -periodicamente
  35.  
  36. vble -> global event_scheduler (ON | OFF | DISABLE)
  37.  
  38. CREATE event
  39. ALTER
  40.     [DEFINER = { USER | CURRENT_USER }]
  41.     EVENT event_name
  42.     [ON SCHEDULE schedule]
  43.     [ON COMPLETION [NOT] PRESERVE]
  44.     [RENAME TO new_event_name]
  45.     [ENABLE | DISABLE | DISABLE ON SLAVE]
  46.     [COMMENT 'comment']
  47.     [DO event_body]
  48.  
  49. SHOW event
  50. DROP event
  51.  
  52. CREATE
  53.     [DEFINER = { USER | CURRENT_USER }]
  54.     EVENT
  55.     [IF NOT EXISTS]
  56.     event_name
  57.     ON SCHEDULE schedule
  58.     [ON COMPLETION [NOT] PRESERVE]
  59.     [ENABLE | DISABLE | DISABLE ON SLAVE]
  60.     [COMMENT 'comment']
  61.     DO event_body;
  62.  
  63.  
  64. schedule:
  65.     AT TIMESTAMP [+ INTERVAL INTERVAL] ...
  66.   | EVERY INTERVAL
  67.     [STARTS TIMESTAMP [+ INTERVAL INTERVAL] ...]
  68.     [ENDS TIMESTAMP [+ INTERVAL INTERVAL] ...]
  69.  
  70.  
  71. INTERVAL:
  72.     quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
  73.               WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
  74.               DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
  75.  
  76. DELIMETER $$
  77. CREATE EVENT bonificacion
  78. ON SCHEDULE AT CURRENT_TIMESTAMP +
  79.     INTERVAL 1 MONTH
  80. DO UPDATE banco.cliente SET saldo=saldo+100 WHERE fecha_creacion BETWEEN NOW() AND date_add (NOW(),INTERVAL -1 MONTH);$$
  81.  
  82.  
  83.  
  84.  
  85. DELIMETER $$
  86. CREATE EVENT arduino__noticias
  87. ON SCHEDULE EVERY 1 MONTH
  88. STARTS '2014-01-01 00:00:00' ENABLE
  89. DO
  90. BEGIN
  91. INSERT INTO historico_noticias
  92. SELECT * FROM noticias WHERE fecha <=
  93. DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY);
  94. DELETE FROM noticias WHERE fecha <= DATE_SUB (CURRENT_DATE(), INTERVAL 30 DAY);
  95. END;$$
  96.  
  97.  
  98. PROCEDIMIENTOS: Tareas sencillas . CALL
  99. FUNCIONES: Parecido a procedimientos, devuelve algo.
  100. VISTAS: INstantaneas de la bd
  101. TRIGGER: AFTER o BEFORE declarando acciones ante modificaciones de la BD.
  102. EVENTOS: Realizan acciones en ciertos moentos temporales.
Advertisement
Add Comment
Please, Sign In to add comment