Create trigger pelo java

2 respostas
W

Pessoal,
Para executar um comando sql pelo java sei que deve ser sem o ‘;’ (sei la na verdade ta dando certo assim). Até aí tudo bem, ele executa todos os comandos perfeitamente.
Só que agora eu resolvi colocar alguns Triggers no script e não sei como faço pra montar o comando. A trigger é:

delimiter |
CREATE TRIGGER excluiatividade AFTER UPDATE ON atividade
  FOR EACH ROW BEGIN    
    if NEW.excluido <> OLD.excluido then         
	UPDATE atividade_depende_atividade SET excluido = NEW.excluido WHERE atividade_id_ativid =OLD.id_ativid OR atividade_id_ativid2 = OLD.id_ativid ;
	UPDATE usuario_associado_proj_ativ SET excluido =
  	  NEW.excluido WHERE atividade_id_ativid =OLD.id_ativid;   
   end if;  
  END;
|
delimiter ;

Ta dando exceção sql de erro de sintaxe. Já tentei tirar os ‘;’ das linhas e não da. Alguém sabe como fazer???

int i=0;
					for(int j=i; j<query.length(); j++){
						if(query.charAt(j) == ';'){
							statement = conection.prepareStatement(query.substring(i,j));
							statement.execute();
							i = j+1;
						}
                                         }

2 Respostas

Mr.style

Cara nunca vi algo do tipo não, pois Java executa as intruções DML agora as DDL eu nunca cheguei a ver não, e outra é muito estranho você colocar uma criação de triggers dentro do java, já que vc num vai ficar criando triggers toda hora.
Reveja esses conceitos.

W

Mr.style:
Cara nunca vi algo do tipo não, pois Java executa as intruções DML agora as DDL eu nunca cheguei a ver não, e outra é muito estranho você colocar uma criação de triggers dentro do java, já que vc num vai ficar criando triggers toda hora.
Reveja esses conceitos.

Ok, vou explicar o porquê:

Minha aplicaão ta pronta! Agora estou criando um .jar a parte para ser executando durante a instalação da aplicação, este faz a importação do script sql pro mysql. Entendeu??
Vai ser executado na instalação para criar a base de dados e todas as tabelas, triggers, etc. por isso!

Criado 16 de junho de 2011
Ultima resposta 17 de jun. de 2011
Respostas 2
Participantes 2