Usuário com melhor resposta
Criar um trigger de alerta e inserção

Pergunta
-
Pessoal tô enrolado com algo simples sou estudante estou aprendendo ainda.
Estou tentando criar esse trigger aqui !
Crie um TRIGGER para criar uma requisição de REQUISICAO_COMPRA quando o estoque atingir
50% da venda mensalOu seja meu campo quantidade (estoque) está na tabela produtos, que já é alterado por outro trigger que é
o trigger em uma tabela itens vendidos ou seja quanto tem um insert na tabela itens vendidos aquela quantidade é
retirada do meu estoque, agora justamente eu preciso criar um trigger que calcule quando eu retirar 50% do
estoque de um produto e crie uma inserção em uma tabela requisição de compra com os dados e a quantidade a comprar
Daquele produto, o que eu consegui fazer está aqui, mas não esta 100% alguém pode me ajudar ? Obrigado
CREATE TRIGGER EX2_PORC_ESTOQ ON EX2_PRODUTO FOR UPDATE AS declare @calc decimal, @qt1 int, @qt2 int, @cod int BEGIN select @qt1 = deleted.quantidade from deleted select @qt2 = inserted.quantidade from inserted select @cod = inserted.codproduto from inserted select @calc = (@qt1 * @qt2)/100 if (@calc >= 50) insert into EX2_REQUISICAO_COMPRA (codproduto, data, quantidade) values (@cod, getdate(), @qt1) print 'Atenção estoque abaixo do nível desejado !!!' END
Respostas
Todas as Respostas
-
-
Meu amigo José primeiramente agradecer por sua gentileza em responder, mas a minha maior dificuldade é como vou calcular esses 50% do estoque vendido suponhamos que eu tenha 100 unidades no estoque assim que eu vender 50 % ou mais no caso da venda ultrapassar os 50% a trigger tem q ser disparada na hora criando a requisição
-
-
CREATE TABLE EX2_PRODUTO( codproduto int, descricao varchar(100), quantidade int, CONSTRAINT pk2_EX2_produto PRIMARY KEY (codproduto) ); CREATE TABLE EX2_ITEMPEDIDO( codpedido int, numeroitem int, valorunitario decimal(10,2), quantidade int, codproduto int, CONSTRAINT pk2_itempedido PRIMARY KEY (codpedido, numeroitem), CONSTRAINT fk2_codpedido FOREIGN KEY (codpedido) REFERENCES EX2_PEDIDO (codpedido), CONSTRAINT fk2_itempedido_produto FOREIGN KEY (codproduto) REFERENCES EX2_PRODUTO (codproduto) ); CREATE TABLE EX2_REQUISICAO_COMPRA( codrequisicaocompra int identity(1,1), codproduto int, data date, quantidade int, CONSTRAINT pk2_ex2_reqcompra PRIMARY KEY (codrequisicaocompra), CONSTRAINT fk2_ex2_reqcompra_produto FOREIGN KEY (codproduto) REFERENCES EX2_PRODUTO(codproduto) );
-
-
As outras tabelas são estas duas
CREATE TABLE EX2_CLIENTE( codcliente int, nome varchar(60), datanascimento date, cpf varchar(11), CONSTRAINT pk2_EX2_cliente PRIMARY KEY (codcliente) ); CREATE TABLE EX2_PEDIDO( codpedido int, codcliente int, datapedido date, nf varchar(12), valortotal decimal(10,2), CONSTRAINT pk2_EX2_pedido PRIMARY KEY (codpedido), CONSTRAINT pk2_EX2_pedido_cliente FOREIGN KEY (codcliente) REFERENCES EX2_CLIENTE(codcliente) );
-
-
-
Uma dúvida que persiste: quantas unidades do produto devem ser encomendadas? As unidades não podem ultrapassar a quantidade disponível no estoque, mas cara você é um gênio e muito humilde em compartilhar seu saber muito obrigado ajudou demais cara. Desde já meu muito Obrigado !!