Usuário com melhor resposta
Duvida para Criar um Trigger

Pergunta
-
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.
Respostas
-
Deleted
- Marcado como Resposta Estefanio Gomes segunda-feira, 25 de novembro de 2013 12:20
-
Deleted
- Marcado como Resposta Estefanio Gomes sexta-feira, 22 de novembro de 2013 18:37
-
Estefanio,
só acho que no create table a coluna de VALORTOTAL deve ser NULL
e no create trigger , vc nao precisa colocar o delete
"Se esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta."
Érica Tohoma | http://bloggirlsa.wordpress.com- Marcado como Resposta Estefanio Gomes sexta-feira, 22 de novembro de 2013 18:38
-
Deleted
- Marcado como Resposta Estefanio Gomes terça-feira, 26 de novembro de 2013 14:16
Todas as Respostas
-
Deleted
- Marcado como Resposta Estefanio Gomes sexta-feira, 22 de novembro de 2013 18:37
-
-
tipo assim?
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);
-
Estefanio,
só acho que no create table a coluna de VALORTOTAL deve ser NULL
e no create trigger , vc nao precisa colocar o delete
"Se esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta."
Érica Tohoma | http://bloggirlsa.wordpress.com- Marcado como Resposta Estefanio Gomes sexta-feira, 22 de novembro de 2013 18:38
-
Deleted
- Marcado como Resposta Estefanio Gomes segunda-feira, 25 de novembro de 2013 12:20
-
-
Deleted
- Marcado como Resposta Estefanio Gomes terça-feira, 26 de novembro de 2013 14:16
-
Olá José, Obrigado pela atenção.
Realmente existem duas tabelas
ItemVenda (Iditemvenda, Idproduto, qtde, valorunitario, valordesconto, valortotal)
venda ( idvenda, valortotal... )
Para a tabela "ItemVenda" tenho que criar uma procedure.
- Procedure inc_item_venda. Insere o item de venda no banco de dados, calculando valor total do item baseado em seu preço unitário, quantidade e desconto. A procedure deve calcular o valor do desconto conforme o tipo informado como parâmetro (porcentagem ou valor).
Parâmetros:
- Código venda: código da venda que o item faz parte.
- Código produto: código do produto.
- Quantidade: quantidade do produto a ser vendido.
- Valor Unitário: preço de venda do produto.
- Tipo do desconto: “p” para porcentagem ou “v” para valor
- Valor do desconto: zero para nenhum desconto ou valor.
Depois disso ae sim criar a 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.
Obrigado!
-
-
-