Preciso criar uma Trigger que é chamada ao se fazer um update ou um insert em uma tabela onde consiste de realizar uma operação matemática para realizar um calculo e atualizar a outra tabela com esse calculo. O problema é que o material que encontrei até é muito escasso e outros nem funcionam, não se é a versão ou algo do tipo.
Envim de alguma coisa para começar, uso o MySQL versão 5.1 e use o HeidiSQL 6 para conecta-lo, no código java até que é beleza só que eu quero fazer pelas trigger por ser mais rápido e também se houver uma alteração direta eu possa chamar esse eventos.
insert into tipo (nome, prazo, valor) values ('nome', 5, 3.5);
E verifiquei
insert into tipo (nome, prazo, valor) values ('nome', 5, 3.5);
//resultado
+------+-------+
| id | test |
+------+-------+
| 1 | teste |
+------+-------+
Pode não ser atual, mas não mudou.
Ivan_Alves
Ta preciso de algo mais ou menos assim em MySQL
List <pessoas> lista = executarSQL("SELECT * FROM teste2"); //busca no banco e retorna a List de objetos
for(int x=0;x<lista.size();x++){
//faço os calculos necessário aqui e tudo mais por exemplo
if(lista.get(x).getSaldo() > 10){
lista.get(x).setPontos(12);
}else if(lista.get(x).getSaldo() > 5){
lista.get(x).setPontos(7);
}else if(lista.get(x).getSaldo() > 0){
lista.get(x).setPontos(2);
}else{
lista.get(x).setPontos(0);
}
executarUpdate(lista.get(x)); //aqui eu executo o update da tabela
}
só que preciso disso no SQL alguém aí tem alguma ideia de como fazer ou onde tem um bom material?
drsmachado
StoredProcedure, camarada.
Provavelmente você vai precisar de algum CURSOR também.
Tem muito material no google, chegou a pesquisar algo?
Ivan_Alves
Usarei as StoredProcedure dentro da minha Trigger? preciso de exemplos pláticos!
drsmachado
Então pesquise no google, se trouxer algum exemplo que não entendeu, teremos satisfação em respondê-lo.
Comentei sobre stored procedure pois você disse precisar realizar verificações e cálculos, portanto, uma trigger não suportaria.
Pelo comentário que destaquei, me parece que o senhor não faz idéia do que seja uma trigger ou uma stored procedure.
Sinto muito por isto, mas, sem entender o conceito, você pode até fazer, mas não irá te acrescentar nada.
Ivan_Alves
Tá consigui chamar uma StoredProcedure através da minha trigger porém a dúvida maior por enquanto é, quero percorrer um listagem de resultados buscados no banco através de um loop, sendo que cada dado eu irei realizar uma ação diferente parecido com o código abaixo;
for(Object item: SELECT * FROM teste2){
/*
* aqui faço mais coisas
*/
}
tem jeito de fazer?
Pelo menos com variaveis númericas(exemplo ‘if 2 < 6 then’) eu vi que tem jeito só que se possivel não queria executar um select para cada fez que passasse pelo loop alguém tem alguma idéia que possa compartilhar?