Postgres multiplicação

PostgreSQL

Banco de Dados

15/08/2018

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

Curtidas 0

Respostas

Joao Pedro

Joao Pedro

15/08/2018

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.
GOSTEI 0
POSTAR