none
Criar um trigger de alerta e inserção RRS feed

  • 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 mensal

    Ou 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


    sexta-feira, 29 de novembro de 2019 00:18

Respostas

Todas as Respostas

  • Deleted
    • Marcado como Resposta Mtecharch sexta-feira, 29 de novembro de 2019 16:38
    sexta-feira, 29 de novembro de 2019 00:32
  • 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
    sexta-feira, 29 de novembro de 2019 01:21
  • Deleted
    sexta-feira, 29 de novembro de 2019 01:27
  • 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)
    );

    sexta-feira, 29 de novembro de 2019 01:48
  • Deleted
    sexta-feira, 29 de novembro de 2019 02:06
  • 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)
    );
    

    sexta-feira, 29 de novembro de 2019 09:12
  • Venda mensal é o acumulado de vendas no mês em curso, sim em um pedido pode ter mais de uma venda e pro mesmo produto
    sexta-feira, 29 de novembro de 2019 09:17
  • Deleted
    sexta-feira, 29 de novembro de 2019 10:05
  • 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 !!

    sexta-feira, 29 de novembro de 2019 14:14