SET TERM ^ ; CREATE TRIGGER <NomeDaTrigger> FOR Viagem ACTIVE AFTER UPDATE POSITION 0 AS begin update Historico_Viagem HV set HV.dt_Inicio = new.dt_inicio, HV.dt_Fim = new.dt_fim, HV.horario = new.horario where HV.Cod = Old.cod end ^ SET TERM ; ^
Isto supondo que o "COD" seja sua chave primÃria e que seja igual para as duas tabelas. Triggers sÃo acionadas automaticamente(caso esteja ativa) apÃs um evento ocorrido com a tabela que està relacionada. No exemplo acima por exemplo, ela ser ativada DEPOIS que a tabela "Viagem" for ALTERADA. Consequentemente nÃo ha necessidade de ser ativada pelo delphi. Obs: 1 ) - A criaÃÃo da trigger foi feita para o Firebird/Interbase. Se vc usa outro banco, a sitaxe pode ser diferente. 2 ) - Se eu estiver errado, alguem me corrige pq faz um tempo que eu num crio uma trigger. Valeu --- Daniel A. Bastos /:,] Em Wed, 06 Oct 2004 20:05:12 -0000, er83pet04 <[EMAIL PROTECTED]> escreveu: > > > Pessoal, > > Estou com um problema, alguÃm pode me ajudar??? > > Tenho a tabela: > > VIAGEM(COD, DT_INICIO, DT_FIM, HORARIO, ...) > > e uma outra tabela chamada: > > HISTORICO_VIAGEM(COD, DT_INICIO, DT_FIM, HORARIO, ...) > > A tabela HISTORICO_VIAGEM deve guardar todas as movimentaÃÃes > (alteraÃÃes e/ou exclusÃes) que forem feitas na tabela VIAGEM. > Ou seja quando o usuÃrio tentar alterar o valor do campo DT_INICIO > ou de qualquer outra o trigger deve ser disparado. > Tentei criar um trigger para ser disparado ao deletar ou alterar um > dado na tabela viagem mas nÃo està dando certo. > Como deve ser esse trigger? Ele deve copiar os campos da tabela > viagem para o histÃrico? Como? > Como disparo ele na minha aplicaÃÃo, pelo Delphi? -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que vocà faz do Yahoo! Grupos està sujeito aos: http://br.yahoo.com/info/utos.html