Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

sql server trigger help - stesso aggiornamento della tabella

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

Nota che questo gestirà più di una riga inserita da una singola istruzione.