CRIAR EVENTO!

NICKOSOFT 08/10/2015 10:23:23
#452302
calma, fragmenta isso, igual eu insisto num colega aqui do fórum q faço uns acessos remotos e conversamos no Skype, ele quer isso aquilo, não sei mais o q, eu falo pra ele fragmentar e ir aos poucos, pra entender o q faz e o q retorna as coisas......não da pra pensar no todo se não ta conseguindo nem começar.....
agora não sei qual seria melhor um event ou store, nunca nem em sonho tramei algo assim, to so observando buscando conhecimento.....
MESTRE 08/10/2015 10:43:58
#452305
Citação:

:
calma, fragmenta isso, igual eu insisto num colega aqui do fórum q faço uns acessos remotos e conversamos no Skype, ele quer isso aquilo, não sei mais o q, eu falo pra ele fragmentar e ir aos poucos, pra entender o q faz e o q retorna as coisas......não da pra pensar no todo se não ta conseguindo nem começar.....
agora não sei qual seria melhor um event ou store, nunca nem em sonho tramei algo assim, to so observando buscando conhecimento.....



hehe vou quebrar a cabeça aqui se eu conseguir solucionar posto a resposta ou também posto até onde consegui chegar, to usando uma base de testes num exemplo bem bobo..
MESTRE 08/10/2015 13:10:50
#452315
Consegui .. agora falta eu fazer o que eu preciso que é mais complexo hahahahahaha
  CREATE DEFINER='root'@'%' PROCEDURE 'STRTESTE'()
BEGIN

DECLARE linha INT;

SELECT COUNT(id) FROM ztabela_testes INTO @S;

SET linha = 1;

WHILE (linha <= @S) DO
INSERT INTO ztabela_testes_clone(nome) VALUES([ô]nome teste[ô]);
SET linha = linha + 1;
END WHILE;
END


exemplo bem bobo, ai criei um EVENT pra dar um Call na StoredProcedure acima:
  CREATE EVENT CallStrdproc_teste
ON SCHEDULE
EVERY 5 MINUTE
DO CALL STRTESTE();


Fooi muiiiiiiiiito mais muiiiiiiiiiiiiito mais simples que eu pensava troquei o SELECT(COUNT) por SELECT(MAX) e pronto basta dar um update..


  CREATE DEFINER='root'@'%' PROCEDURE 'PROC1'()
BEGIN

DECLARE linha INT;

SELECT MAX(idtesteSP) FROM testesp INTO @S;

SET linha = 1;

WHILE (linha <= @S) DO

UPDATE testesp SET STATUS = [ô]VENCIDO[ô]
WHERE idtesteSP=linha AND
STATUS <> [ô]IGNORAR[ô] AND
validade < CURRENT_DATE;

SET linha = linha + 1;
END WHILE;

END
Página 2 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas