Ir para conteúdo
Fórum Script Brasil
  • 0

Outra Duvida Com Trigger


Tbaiano

Pergunta

17 respostass a esta questão

Posts Recomendados

  • 0

Usando FireBird 1.5 com o IBExpert a Triger Completa é:

SET SQL DIALECT 3;

SET NAMES NONE;

SET TERM ^ ;

CREATE TRIGGER TRIG_PLANINQ_GRAVAR FOR PLANINQ

ACTIVE BEFORE UPDATE POSITION 0

AS

begin

planinq.vltotal = planinq.vlcond + planinq.vldmae + planinq.vlcext + planinq.vlcext1 +

planinq.vlfreserv + planinq.vlcee + planinq.vlbox + planinq.vlgas + planinq.vldesbanc +

planinq.vlsalfest + planinq.vlmulta + planinq.vlsegur + planinq.vlport + planinq.vlimpez +

planinq.vlelev + planinq.vlsalenc + planinq.vldiv1 + planinq.vldiv2 + planinq.vldiv3 +

planinq.vldiv4;

end

^

SET TERM ; ^

*****

Valeu por ajudar.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu Crio Assim:

CREATE TRIGGER TRIG_PLANINQ_GRAVAR FOR PLANINQ

ACTIVE BEFORE INSERT OR UPDATE POSITION 0

AS

BEGIN

...

...

end

O IBexpert que coloca a aqueles ^ ^ sei lá pra que isso.

Olha só você não saberia porque a trigger só funciona em 1 unico registro da minha tabela e nos outros simplesmente ele coloca NULL cada vez q insiro um dado no Campo VLTOTAL que deveria receber a soma de todos...

É isso que não consigo entender. Não sei se estou esquecendo de algum detalhe mas acho que não tenho outras TRIGGER nesse projeto verdade q nenhuma fazendo calculos mas funcionam normalmente, eu estou fazendo esse calculo no Código mas faço ele 3 vezes em lugares diferentes, fazendo no banco resolveria esse problema...

Se souber d mais aluma coisa q possa ser...

Agradeço a sua Ajuda.

Link para o comentário
Compartilhar em outros sites

  • 0

cara, conselho de amigo: biggrin.gif

Sempre que for criar uma tabela que tenha campos do tipo NUMBER use sempre o DEFAULT 0, que ae não aconteceria de um campo desse ficar NULL, tipo:

CREATE TABLE NOME_TABELA (
  VLCOND NUMBER(*) DEFAULT 0,
  VLDMAE NUMBER(10,2) DEFAULT 0,
  VLCEXT NUMBER(10,3) DEFAULT 0,
  ETC,
  ETC,
  ETC...

(É só um exemplo...)

Abs. Progr'amador.

Link para o comentário
Compartilhar em outros sites

  • 0

Aquele IBDataSet... da Interbase

Quando Insiro um Inquilino crio uma planilha para ele na After Post da Table Inquilino Coloquei isso:

If NOt (IBPlaninq.State = dsEdit) and NOT (IBPlaninq.State = dsInsert) then

IBPlaninq.Edit;

DMlcd.IBPlaninqCODCONDPLANINQ.AsInteger := Strtoint(FcadInq.DBEdiT2.Text);

DMlcd.IBPlaninqAPTINQ.AsString := FcadInq.DBEdit3.Text;

DMlcd.IBPlaninqBLINQ.AsString := FcadInq.DBEdit4.Text;

DMlcd.IBPlaninqPORTINQ.AsString := FcadInq.DBEdit17.Text;

Dmlcd.IBPlaninq.Post;

Tava funcionando numa boa isso...

Link para o comentário
Compartilhar em outros sites

  • 0

É já que é no banco, o código, tb não sei...

quando insiro pelo banco um dado todos os campos em branco recebem 0 com DEFAULT e não NULL mas quando no sistema eles recebem NULL...

É vou ver o que que eu faço...

Valeu pela ajuda vou ver uma de criar os dados da planilha de Inquilinos pelo banco e ver no que que dá...

Valeu pelas Dicas.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu nunca usei esse IBDataSet, nas se você der dois cliques abrirar uma caixa, dentro dessa caixa clique com o botão direto e escolha o opção Add fields..., isso ira adcionar os campos da sua tabela, por acaso nesses campos num teria uma opção tipo Defalut... ()no object inspector) se tiver tenta colocar 0 (Zero). Mas não tenho certeza disso, como falei "Eu nunca usei esse IBDataSet".

Outra opção:

Quanto pedir um novo registro(No Delphi), já inserir o valor 0 (zero) nos campos, antes da você preencher os dados, ae o que você não preencher com nenhum valor, consequentemente vai ficar 0 (Zero).

Espero que tenho entendido.

Abs. Progr'amador.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...