CRIAR PROCEDIMENTOS PARA UMA FUNÇAO DE ATUALIZAÇÃO
Bom dia
Estou desenvolvendo um sistema em delphi e dbExpress e Firebird e gostatiria de saber como faço para montar um trigger ou procedimento para atualiza o banco de dados com as seguintes informações
existe 4 campos na tabela sendo que:
Codigo - planejado - executado - diferença
Gostaria de saber como faço para que no campo diferença seja atualizado quando preenchemos na coluna executado, tem que ser como a explicação abaixo
planejado executado diferença
01 02 +1
02 01 -1
02 02 0
pois não sei com fazer este tipo de procedimento
Grato
Diogenes
Diogenes Dourado
Curtidas 0
Respostas
Wesley Yamazack
21/01/2009
Você quer fazer isso quando os registros forem inseridos ou atualizados ?
SE FOR INSERT, INSIRA UMA TRIGGER NO BEFORE INSERT, DESTA TABELA. E COLOQUE O CODIGO ABAIXO
UPDATE FROM TABELA
SET DIFERENCA = PLANEJAMENTO - EXECUTADO
WHERE
CODIGO = NEW.CODIGO
SE FOR UPDATE. INSIRA UMA TRIGGER NO BEFORE UPDATE, DESTA TABELA. E COLOQUE O CODIGO ABAIXO
UPDATE FROM TABELA
SET DIFERENCA = PLANEJAMENTO - EXECUTADO
WHERE
OLD.CODIGO
Att,
Wesley Yamazack
SE FOR INSERT, INSIRA UMA TRIGGER NO BEFORE INSERT, DESTA TABELA. E COLOQUE O CODIGO ABAIXO
UPDATE FROM TABELA
SET DIFERENCA = PLANEJAMENTO - EXECUTADO
WHERE
CODIGO = NEW.CODIGO
SE FOR UPDATE. INSIRA UMA TRIGGER NO BEFORE UPDATE, DESTA TABELA. E COLOQUE O CODIGO ABAIXO
UPDATE FROM TABELA
SET DIFERENCA = PLANEJAMENTO - EXECUTADO
WHERE
OLD.CODIGO
Att,
Wesley Yamazack
GOSTEI 0
Wesley Yamazack
21/01/2009
Olá Diogenes, na instrução SQL favor desconsiderar a palavra FROM
Att,
Wesley Yamazack
Att,
Wesley Yamazack
GOSTEI 0
Wesley Yamazack
21/01/2009
Diogenes,
A explicação ficou clara ? Foi suficiente ?
Estamos aguardando seu retorno.
Att,
Wesley Y
A explicação ficou clara ? Foi suficiente ?
Estamos aguardando seu retorno.
Att,
Wesley Y
GOSTEI 0
Diogenes Dourado
21/01/2009
É para quando for iserir um registro na coluna executado, pois a equipe de engenharia que ira alinentar o sistema ], pois ele que se tenho os sinais de "+" na frente iqual ao sinal de negativo e não saei fazer isso pois numero não aceita sinal de positivo
GOSTEI 0
Wesley Yamazack
21/01/2009
Olá Diogenes,
Você não precisa colocar sinal em numero positivo, só irá dar negativo quando o resultado for menor do que 0(Zero). Para isso basta você colocar a trigger, como mostrada anteriormente.
Att,
Wesley Y
Você não precisa colocar sinal em numero positivo, só irá dar negativo quando o resultado for menor do que 0(Zero). Para isso basta você colocar a trigger, como mostrada anteriormente.
Att,
Wesley Y
GOSTEI 0
Diogenes Dourado
21/01/2009
Deu certo, gostaria de saber como faço para quando as duas colunas forem igual, tem que ter o resultado igual a 0
Grato
Diogenes
GOSTEI 0
Wesley Yamazack
21/01/2009
Diogenes,
Bom partindo do principio, que um menos o outro seja a diferença, se um for igual ao outro eles serão 0(Zero). Por via das dúvidas, segue o código abaixo. Gostaria de saber se com esta duvida esclarecida podemos fechar o chamado.
UPDATE FROM TABELA
SET DIFERENCA = 0
WHERE PLANEJAMENTO = EXECUTADO
Att,
Wesley Y
Bom partindo do principio, que um menos o outro seja a diferença, se um for igual ao outro eles serão 0(Zero). Por via das dúvidas, segue o código abaixo. Gostaria de saber se com esta duvida esclarecida podemos fechar o chamado.
UPDATE FROM TABELA
SET DIFERENCA = 0
WHERE PLANEJAMENTO = EXECUTADO
Att,
Wesley Y
GOSTEI 0
Diogenes Dourado
21/01/2009
Olá
Gostaria de agradeçer e podemos sim fechar, isso vai me ajudar e muito
Grato
Diogenes
GOSTEI 0
Wesley Yamazack
21/01/2009
Diogenes, Bom dia. Sempre que precisar estaremos a disposição.
Att,
Wesley Y
Att,
Wesley Y
GOSTEI 0