none
Ajuda exercícios RRS feed

  • Pergunta

  • Alguém poderia me ajudar ??? Por favor !!!! Alguém sabe como fazer ???

    3) Crie o trigger com opção "FOR" com o nome de
    paga_cheque nas inserções na tabela
    de cheques pagos, que atenda ao seguinte funcionamento: 
    3.1) Ao inserir um cheque na tabela cheque_pago, se houver
    saldo suficiente, debitar o saldo, caso contrário, o 
    cheque deverá ser devolvido e gravado SOMENTE
    na tabela de cheque_devolvido;

    O código para se mudar seria esse:

    create trigger devolve_cheque on CHEQUE instead of INSERT AS BEGIN Declare @saldo decimal(10,2), @valor decimal(10,2), @numero bigint, @conta bigint select @valor = valor, @conta = conta, @numero = numero from inserted select @saldo = saldo from saldo as s where conta = @conta if @saldo < @valor insert into CHEQUE_DEVOLVIDO (conta,numero,valor) values (@conta, @numero, @valor) else BEGIN insert into CHEQUE (conta, numero, valor) values (@conta, @numero, @valor) update saldo set saldo = saldo - @valor where conta = @conta END END GO

    meu contato: alef.car_valho@hotmail.com

    sexta-feira, 8 de maio de 2020 00:21

Todas as Respostas

  • Alef,

    Você tem certeza que criou um trigger For?

    Verifique a linha de criação e definição do tipo do seu trigger:

    create trigger devolve_cheque on CHEQUE instead of INSERT

    De uma forma básica e bem simplificada os triggers baseados em Instead Of tem o papel contrário aos Triggers After!


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 8 de maio de 2020 18:11