Postgres multiplicação
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
Curtidas 0
Respostas
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.
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