none
inserção de quantidade menor ou igual RRS feed

  • Pergunta

  • Olá, pessoal.

    Eu quero criar um trigger que bloquei a entrada de quantidade na tabela itemvenda, caso essa, seja maior que quantidade da tabela livro.


    segue abaixo a lógica 

    insert into itemvenda quantidade
    if
    itemvenda.quantidade<=livro.quant
    else
    rollback


    http://s14.postimage.org/ent4akuq9/Sem_t_tulo.png
    http://postimage.org/image/arfsel9ql/




    segunda-feira, 12 de março de 2012 14:40

Respostas

  • Boa Noite,

    Segue uma das possibilidades

    CREATE TRIGGER ItemVenda
    FOR INSERT, UPDATE
    As
    BEGIN
     -- Verifica se algum item extrapola a quantidade
     IF EXISTS (
      SELECT * FROM INSERTED As I
      INNER JOIN Livro As L ON I.ISBN_ID = L.ISBN
      WHERE I.Quantidade > L.Quant
     BEGIN
      RAISERROR('Não é possível atender essa quantidade')
      ROLLBACK
     END

     ELSE -- Diminui a quantidade de livros
     BEGIN

      UPDATE Livro SET Quant = Quant - Quantidade
      FROM Livro
      INNER JOIN Inserted As I ON L.ISBN = I.ISBN_ID

     END

    END

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos:http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível

    • Sugerido como Resposta Gustavo Maia Aguiar terça-feira, 13 de março de 2012 01:49
    • Marcado como Resposta Eder Costa sexta-feira, 16 de março de 2012 14:31
    terça-feira, 13 de março de 2012 01:49