Alguem poderia me ajudar;
_ Como poderia montar em uma mesma TABLE uma coluna ‘resultado’ de duas outras colunas, assim
CREAE TABLE( T1 INT, T2 INT, T3 = T1+T3));
Sqlite
E
2 Respostas
B
Acho que isso não tem como, amigo. (Não conheço, pelo menos)
O que você pode fazer é criar procedures/triggers que venham a atualizar essa coluna a cada insert/update na linha, para fazer a recontagem dos valores.
B
Criei um exemplo no postgres usando trigger:
create table teste
(
codigo serial,
valor1 numeric,
valor2 numeric,
soma numeric
);
CREATE OR REPLACE FUNCTION valida()
RETURNS "trigger" AS
$BODY$
DECLARE
v1 NUMERIC;
v2 NUMERIC;
BEGIN
IF TG_OP='INSERT' OR TG_OP='UPDATE' THEN
v1 = new.valor1;
v2 = new.valor2;
new.soma = (v1+v2);
END IF;
IF TG_OP='DELETE' THEN
RETURN OLD;
ELSE
RETURN NEW;
END IF;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;
CREATE TRIGGER valida
BEFORE INSERT OR UPDATE OR DELETE
ON teste
FOR EACH ROW
EXECUTE PROCEDURE valida();
obs: Você pode especificar quando essa função/trigger será executada, basta alterar a linha "BEFORE INSERT OR UPDATE OR DELETE".
Pode ser tipo: beforte insert, after insert, after delete e etc...
INSERT INTO teste(valor1, valor2) values (10,20);
No final, o resultado foi:
soma = 30
Criado 19 de maio de 2014
Ultima resposta 20 de mai. de 2014
Respostas 2
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo