Postgres multiplicação

15/08/2018

0

Criei uma tabela de locação de livros no postgres, ai tem uma coluna de multa, antes dessa coluna tem as colunas de dias de atraso e valor da multa, existe algum método para quando eu inserir apenas nas colunas de dias de atraso e o valor da multa fazer a multiplicação e aparecer automaticamente na coluna de multa?
Junior Boff

Junior Boff

Responder

Posts

27/08/2018

Joao Pedro

Cara, consigo pensar em vários jeitos de fazer isso.

Os mais simples são: Deixar isso pra camada de apliação e na hora de fazer o select ser algo como por exemplo (PHP, Oracle)
$stid = oci_parse($connection, "INSERT INTO tabela (coluna1, coluna2, coluna3) VALUES ($dias, $multa, $multa*$dias)");

A outra mais simples é fazer uma TRIGGER pra rodar ON INSERT que calcula uma multa sempre que um valor é inserido na tabela.
CREATE OR REPLACE FUNCTION calcular_multa
RETURNS trigger AS $ExemploFuncao$
BEGIN
/* Aqui definimos nossos códigos.*/
RETURN NEW;
END;
$ExemploFuncao$ LANGUAGE plpgsql;

Aqui você vai precisar saber um pouco de plsql, pois deverá fazer uma função que vai rodar sua tabela, calcular a multa e fazer um UPDATE na linha.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar