Ir ao conteúdo

Posts recomendados

Postado

Boa tarde a todos, estou com um probleminha e ainda não consegui resolver.

 

tenho um função criada em uma tabela no postgres e um trigger para acionar essa função mas, algo não está funcionando, testei as partes isoladas da função e funcionam bem mas, como um todo não, poderiam me ajudar por favor?

 

Segue o código:

Function:

 

create function calculo()
returns trigger
as $calculo$
declare
FolhasOld int;
IdFolhasOld int;
FolhasNew int;
calculo int;
begin
    FolhasOld = (SELECT OLDSHEET FROM TRANSICAO WHERE ID_IMPRESSORA_TONER = 7 ORDER by IDTRANSICAO DESC LIMIT 1);
    IdFolhasOld = (SELECT IDTRANSICAO FROM TRANSICAO WHERE ID_IMPRESSORA_TONER = 7 ORDER by IDTRANSICAO DESC LIMIT 1 OFFSET 1);
    FolhasNew = (SELECT FOLHAS FROM TRANSICAO WHERE ID_IMPRESSORA_TONER = 7 ORDER by IDTRANSICAO DESC LIMIT 1);
    calculo = FolhasNew - FolhasOld;
    
    update transicao
    set folhasnew = calculo
    where IDTRANSICAO = IdFolhasOld;
    
    return null;
end;
$calculo$
language plpgsql;

 

Trigger:

 

create trigger calculo
after insert on transicao
for each row
execute procedure calculo();

 

Não sei se de repente eu perdi ou esqueci de alguma coisa.

Desde já agradeço imenso.

Postado

Bom dia a todos,

 

Consegui resolver esse problema somente acrescentando o "offset 1" também ao select do FolhasOld, e trocando = po := nas outras variáveis, ficando assim:

FolhasOld := (SELECT OLDSHEET FROM TRANSICAO WHERE ID_IMPRESSORA_TONER = 7 ORDER by IDTRANSICAO DESC LIMIT 1 OFFSET 1);

 

Muito Obrigado.

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!