sql >> Base de Datos >  >> RDS >> Sqlserver

ayuda del disparador del servidor sql - actualización de la misma tabla

create trigger [dbo].[test] on [dbo].[invoice]
for insert
as
begin

update Invoice
  set Trader_Status = 'OPEN'
  where Invoice_Id in ( select Invoice_Id from inserted where Invoice_Status = 'PENDING' )

update Invoice
  set Trader_Status = 'BLOCKED'
  where Invoice_Id in ( select Invoice_Id from inserted where Invoice_Status = 'OVERDUE' )

end

Tenga en cuenta que esto manejará más de una fila insertada por una sola declaración.