Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

estefanio.gomes

Criar um Trigger

Recommended Posts

Ola Pessoa!

 

Sou leigo no assunto e estou precisando de uma ajuda.

 

tenho a seguinte situação

Uma tabela Item venda

 

Create Table ItemVenda(
Iditemvenda integer not null,
venda_itemvenda integer not null,
produto_itemvenda integer not null,
qtde numeric(15,2) not null,
valorunitario numeric(15,2) not null,
valordesconto numeric(15,2) not null,
valortotal numeric(15,2) not null,
primary key (Iditemvenda)
);

 

Preciso criar uma trigger: Trigger atualiza_valor_venda: Após a inclusão, alteração ou exclusão de um item de venda a trigger deve somar os valores totais de todos os itens da venda que ela pertence e atualizar o campo valortotal da tabela de venda.

 

Agradeço se pode me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então preciso criar uma trigger para todo vez que eu inserir (alterar ou excluir) um novo item na tabela Itemvenda, pegue o valor de cada item e coloque na coluna valortotal.

 

Eu comecei a fazer dessa forma, mas travei

 

Create Table ItemVenda(
Iditemvenda integer not null,
venda_itemvenda integer not null,
produto_itemvenda integer not null,
qtde numeric(15,2) not null,
valorunitario numeric(15,2) not null,
valordesconto numeric(15,2) not null,
valortotal numeric(15,2) not null,
primary key (Iditemvenda)
);
Create Trigger atualiza_valor_venda
On ItemVenda
After Insert, Update, Delete
as
Update ItemVenda
set valortotal = ((qtde * valorunitario) - valordesconto);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, mas nesse caso você esta fazendo errado.

Para montar um processo de venda basicamente precisa de três tabelas:

 

Item

Venda

Itens_Vendidos

 

Sendo que na Itens_vendidos são armazenados o id do produto

o id da venda o valor do produto(para se caso houver alteração não interferir no valor da compra);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.