Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE IF NOT EXISTS `notificacao` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `idteste` int(11) NOT NULL,
- `mensagem` varchar(20) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
- -- --------------------------------------------------------
- --
- -- Estrutura da tabela `teste`
- --
- CREATE TABLE IF NOT EXISTS `teste` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `expiracao` int(11) NOT NULL,
- `nome` varchar(10) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
- --
- -- Extraindo dados da tabela `teste`
- --
- INSERT INTO `teste` (`id`, `expiracao`, `nome`) VALUES
- (1, 1, 'Teste01'),
- (2, 99, 'Teste02'),
- (3, 149, 'Teste03'),
- (4, 199, 'Teste04');
- --
- -- Acionadores `teste` (TRIGGER)
- --
- DROP TRIGGER IF EXISTS `geraNotificacao`;
- DELIMITER //
- CREATE TRIGGER `geraNotificacao` BEFORE UPDATE ON `teste`
- FOR EACH ROW BEGIN
- IF teste.expiracao = 0 THEN
- INSERT INTO notificacao (`idteste`, `mensagem`) VALUES (teste.id, "Teste apagado!");
- DELETE FROM teste WHERE teste.id = OLD.id;
- END IF;
- END
- //
- DELIMITER ;
- DELIMITER $$
- --
- -- Eventos
- --
- CREATE DEFINER=`root`@`localhost` EVENT `decrementaDia`
- ON SCHEDULE EVERY 10 SECOND
- STARTS '2016-05-12 15:11:10' ON COMPLETION NOT PRESERVE ENABLE
- DO UPDATE teste SET teste.expiracao = (teste.expiracao - 1) WHERE 1$$
- DELIMITER ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement