Triggers

396 palavras 2 páginas
Trigger para INSERT

alter TRIGGER trg_ins ON vendaproduto AFTER insert
AS
BEGIN print 'Foi efetuada uma venda!!' declare @qtd int declare @id int select @qtd=qtd, @id=id_produto from inserted update produto set qtdstock= qtdstock - @qtd where @id=id_produto
END
GO
Trigger para DELETE

CREATE TRIGGER trg_del ON vendaproduto AFTER DELETE
AS
BEGIN print 'Foi eliminada uma venda!!!' declare @qtd int declare @idproduto int select @qtd=qtd, @idproduto=id_produto from deleted update produto set qtdstock = qtdstock + @qtd where id_produto = @idproduto end go
Trigger para UPDATE
CREATE TRIGGER trg_update ON vendaproduto AFTER update
AS
BEGIN declare @qtd_eliminada int declare @qtd_alterada int declare @id int select @qtd_eliminada=qtd, @id=id_produto from deleted print 'Quantidade eliminada' + convert(nvarchar(50),@qtd_eliminada) select @qtd_alterada=qtd from inserted print 'Quantidade alterada ' + convert(nvarchar(50),@qtd_alterada) update produto set qtdstock = qtdstock + (@qtd_eliminada - @qtd_alterada) where id_produto = @id
END
Go
Trigger para INSTEAD OF INSERT (atulizar o insert)

CREATE TRIGGER [dbo].[trg_ins] ON [dbo].[vendaproduto] INSTEAD OF INSERT
AS
BEGIN declare @qtd int declare @id int declare @qtd_vender int select @id=id_produto, @qtd_vender=qtd from inserted select @qtd=qtdstock from produto where id_produto=@id if (@qtd_vender>@qtd) begin print 'out of stock' end else begin print 'Foi efetuada uma venda!!' insert into vendaproduto (id_produto, qtd, datahora) values (@id, @qtd_vender, GETDATE ()) update produto set qtdstock= qtdstock - @qtd where id_produto=@id END END

update vendaproduto set qtd=200, id_venda=7

delete from vendaproduto where id_venda = '6'

insert into vendaproduto values ('1', '2', GETDATE ())

create table produtos (

Relacionados

  • Triggers
    1916 palavras | 8 páginas
  • Trigger
    319 palavras | 2 páginas
  • Trigger
    1062 palavras | 5 páginas
  • Programação - trigger
    1374 palavras | 6 páginas
  • Trigger de delete
    666 palavras | 3 páginas
  • EXEMPLOS TRIGGERS
    4376 palavras | 18 páginas
  • Trigger point
    354 palavras | 2 páginas
  • Chrono Trigger
    3823 palavras | 16 páginas
  • Triggers No Oracle
    830 palavras | 4 páginas
  • Exercicio trigger
    899 palavras | 4 páginas