sql >> Database >  >> RDS >> Sqlserver

SQL server trigger help - zelfde tabel update

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

Merk op dat dit meer dan één rij zal verwerken die door een enkele instructie wordt ingevoegd.




  1. Vervang rijwaarde door lege tekenreeks indien duplicaat

  2. Database implementeren vanuit bronbeheer

  3. Simuleer ORDER BY in SQLite UPDATE om de uniciteitsbeperking aan te pakken

  4. Een tabel retourneren in een PL/SQL-functie