Ajuda com Trigger que soma/subtrai SQL
08/03/2019
0
estou com uma tabela SQL que tem 3 campos :
Quantidade varchar(7), Quantidade_Fiscal varchar(7), Quantidade_Total varchar(7),
gostaria de um exemplo de como seria uma Trigger que mostrasse o resultado da soma das colunas: (Quantidade + Quantidade_Fiscal ) na coluna (Quantidade_Total )
Lembrando que os valores de algumas das colunas podem ser nulos, nesse caso o campo (Quantidade_Total ) só exibiria o resultado da coluna com valor
Wictor
Post mais votado
08/03/2019
o prioblema da triguer é que você precisa saber quando ela será executada (insert, update ou delete) para utilizar as palavras chaves, OLD ou NEW.
Vou assumir que seja no insert por exemplo, e que as colunas não são varchar como você colocou e sim numeric:
CREATE OR ALTER trigger new_teste_bi0 for new_teste active before insert position 0 AS begin new.quantidade_total = new.quantidade+new.quantidade_fiscal; end
Caso você realmente tenha colunas de quantidade como varchar, você terá muita dor de cabeça, sugiro que troque responsavelmente o tipo da coluna.
Um forte abraço e fique com Deus.
Hélio Devmedia
Mais Posts
08/03/2019
Wictor
o prioblema da triguer é que você precisa saber quando ela será executada (insert, update ou delete) para utilizar as palavras chaves, OLD ou NEW.
Vou assumir que seja no insert por exemplo, e que as colunas não são varchar como você colocou e sim numeric:
CREATE OR ALTER trigger new_teste_bi0 for new_teste active before insert position 0 AS begin new.quantidade_total = new.quantidade+new.quantidade_fiscal; end
Caso você realmente tenha colunas de quantidade como varchar, você terá muita dor de cabeça, sugiro que troque responsavelmente o tipo da coluna.
Um forte abraço e fique com Deus.
Amigo vou alterar a tabela .. mas eu uso o insert ou update ? eu quero que quando se alterar a (quantidade) e/ou a (quantidade_fiscal) a (quantidade_total) atualize automaticamente
08/03/2019
Alex Lekao
Altere o tipo de campo para ter o valor default como zero, dessa forma vc evitar um calculo com valor nulo.
08/03/2019
Alex Lekao
Altere o tipo de campo para ter o valor default como zero, dessa forma vc evitar um calculo com valor nulo.
Da uma olhada aqui que deve ter ajudar.
https://docs.microsoft.com/pt-br/sql/relational-databases/tables/specify-computed-columns-in-a-table?view=sql-server-2017
Especificamente isso.
Espero ter ajudado.
Atenciosamente,
Clique aqui para fazer login e interagir na Comunidade :)