Tabela não atualiza o valor do tempo ?

0 respostas
postgresql
F
CREATE TABLE nro_Racao (

nro_idracao INTEGER NOT NULL,

nro_data_validade DATE NOT NULL,

nro_tempo int not null,

nro_indicacao_porte VARCHAR(20) NOT NULL,

nro_faixa_etaria INTEGER NOT NULL,

nro_idproduto INTEGER NOT NULL,

nro_quantidade DOUBLE PRECISION NOT NULL,

PRIMARY KEY (nro_idracao),

FOREIGN KEY(nro_idproduto) REFERENCES nro_produto(nro_idproduto)

);
CREATE OR REPLACE FUNCTION calculatempo()

RETURNS trigger AS

$BODY$

DECLARE

v_nro_tempo INT;

data_validade DATE;

BEGIN

SELECT nro_data_validade INTO data_validade FROM nro_racao WHERE nro_idracao =

new.nro_idracao;

v_nro_tempo = ((data_validade-CURRENT_DATE)/365);

UPDATE nro_racao SET nro_tempo = v_nro_tempo WHERE nro_idracao = new.nro_idracao;

RETURN NULL;

END;

$BODY$

LANGUAGE plpgsql;

CREATE TRIGGER calcula_tempo
AFTER INSERT
ON nro_racao
FOR EACH ROW
EXECUTE PROCEDURE calculatempo();

Criado 19 de junho de 2018
Respostas 0
Participantes 1