Faltou o cabeçalho do gatilho: é inclusão, exclusão ou atualização? Um abraço,
Valdir Marcos ----- Original Message ----- From: Levi Ribeiro de Freitas To: delphi-br@yahoogrupos.com.br Sent: Tuesday, October 18, 2005 11:06 AM Subject: [delphi-br] Recuperar Banco Firebird Pessoal, Alguém tem alguma ferramenta para recuperar um banco firebird, acredito que o meu está com problema, visto que uma trigger está falhando. As vezes executa, as vezes não. Vejam o código: AS DECLARE VARIABLE FILLER VARCHAR (2) CHARACTER SET WIN1252; DECLARE VARIABLE FILLER1 VARCHAR (30) CHARACTER SET WIN1252; BEGIN FILLER = ' '; //Esta parte aqui não executa de jeito nenhum, verifica estas condicoes de jeito nenhum if ((new.situacao = 2 and old.situacao = 2) and (New.DT_NF <> Old.DT_NF) or (New.Peso_NF <> Old.Peso_NF) or (New.Valor_NF <> Old.Valor_NF) or (New.num_nf <> Old.num_nf)) then begin FILLER1 = 'MATERIAL DEVOLVIDO'; INSERT INTO tbemail (ID_TIPO, INFORMACAO, DOCUMENTO_CHAR, TEXTO, DESCRICAO, USR_CAD, DT_CAD, DESCRICAO1, DESCRICAO2, STATUS) VALUES(11, 'RAT - ' || :FILLER1 || ' - ' || cast(New.peso_nf as varchar(8)) || 'KG' , SUBSTRING( NEW.codigo FROM 1 FOR 4) || '/' || SUBSTRING( NEW.codigo FROM 5 FOR 2), NEW.tipo_id || :FILLER || New.cod_cli || :FILLER || New.cliente, NEW.desc_reclama, NEW.usr_ed, NEW.dt_ed, New.laudo, New.disposicao, 0); end //Até aqui. //Daqui pra frente executa normalmente. if (new.situacao = 1 and old.situacao = 1 and ((New.cod_cli <> Old.cod_cli) or (New.desc_reclama <> Old.desc_reclama))) then begin INSERT INTO tbemail (ID_TIPO, INFORMACAO, DOCUMENTO_CHAR, TEXTO, DESCRICAO, USR_CAD, DT_CAD, STATUS) VALUES(1, 'ALTERAÇÃO DE SAT', SUBSTRING( NEW.codigo FROM 1 FOR 4) || '/' || SUBSTRING( NEW.codigo FROM 5 FOR 2), NEW.tipo_id || :FILLER || New.cod_cli || :FILLER || New.cliente, NEW.desc_reclama, NEW.usr_ed, NEW.dt_ed, 0); end if (new.situacao = 2 and old.situacao = 1) then begin if (new.procedente = 1) then begin FILLER1 = 'PROCEDENTE'; INSERT INTO tbemail (ID_TIPO, INFORMACAO, DOCUMENTO_CHAR, TEXTO, DESCRICAO, USR_CAD, DT_CAD, DESCRICAO1, DESCRICAO2, STATUS) VALUES(2, 'INCLUSÃO DE RAT - ' || :FILLER1 , SUBSTRING( NEW.codigo FROM 1 FOR 4) || '/' || SUBSTRING( NEW.codigo FROM 5 FOR 2), NEW.tipo_id || :FILLER || New.cod_cli || :FILLER || New.cliente, NEW.desc_reclama, NEW.usr_ed, NEW.dt_ed, New.laudo, New.disposicao, 0); end if (new.procedente = 2) then begin FILLER1 = 'IMPROCEDENTE'; INSERT INTO tbemail (ID_TIPO, INFORMACAO, DOCUMENTO_CHAR, TEXTO, DESCRICAO, USR_CAD, DT_CAD, DESCRICAO1, DESCRICAO2, STATUS) VALUES(3, 'INCLUSÃO DE RAT - ' || :FILLER1 , SUBSTRING( NEW.codigo FROM 1 FOR 4) || '/' || SUBSTRING( NEW.codigo FROM 5 FOR 2), NEW.tipo_id || :FILLER || New.cod_cli || :FILLER || New.cliente, NEW.desc_reclama, NEW.usr_ed, NEW.dt_ed, New.laudo, New.disposicao, 0); end end if ((new.situacao = 2 and old.situacao = 2) and (New.laudo <> Old.laudo) or (New.disposicao <> Old.disposicao) or (New.procedente <> Old.procedente) or (New.devolucao <> Old.devolucao)) then begin if (new.procedente = 1) then begin FILLER1 = 'PROCEDENTE'; INSERT INTO tbemail (ID_TIPO, INFORMACAO, DOCUMENTO_CHAR, TEXTO, DESCRICAO, USR_CAD, DT_CAD, DESCRICAO1, DESCRICAO2, STATUS) VALUES(2, 'ALTERAÇÃO DE RAT - ' || :FILLER1 , SUBSTRING( NEW.codigo FROM 1 FOR 4) || '/' || SUBSTRING( NEW.codigo FROM 5 FOR 2), NEW.tipo_id || :FILLER || New.cod_cli || :FILLER || New.cliente, NEW.desc_reclama, NEW.usr_ed, NEW.dt_ed, New.laudo, New.disposicao, 0); end if (new.procedente = 2) then begin FILLER1 = 'IMPROCEDENTE'; INSERT INTO tbemail (ID_TIPO, INFORMACAO, DOCUMENTO_CHAR, TEXTO, DESCRICAO, USR_CAD, DT_CAD, DESCRICAO1, DESCRICAO2, STATUS) VALUES(3, 'ALTERAÇÃO DE RAT - ' || :FILLER1 , SUBSTRING( NEW.codigo FROM 1 FOR 4) || '/' || SUBSTRING( NEW.codigo FROM 5 FOR 2), NEW.tipo_id || :FILLER || New.cod_cli || :FILLER || New.cliente, NEW.desc_reclama, NEW.usr_ed, NEW.dt_ed, New.laudo, New.disposicao, 0); end end END Atenciosamente, Levi Ribeiro de Freitas Programador de Computadores Tel.: 55 12 3644-2119 / 9724-8804 Email: <mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas] -- <<<<< 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] Yahoo! Grupos, um serviço oferecido por: ------------------------------------------------------------------------------ Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- <<<<< 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