簡體   English   中英

插入后觸發更新另一個表

[英]Trigger Update another table After Insert

我有2個表EmployeeEmployee_Backup

Employee有3列

  • IDEmployee
  • 名稱
  • 狀態

Employee_Backup也有3列:

  • IDEmployee
  • 詳情
  • 狀態

對於插入到表Employee或在表Employee更新的每一行,我想使用此條件在表Employee_Backup設置Status

WHERE employee_backup.IDEmployee = employee.IDEmployee     (inserted / updated)

那樣的東西?

CREATE TRIGGER tr_Employee_Insert
ON dbo.Employee
FOR INSERT 
AS
    UPDATE b
    SET Status = 'Inserted'
    FROM dbo.Employee_Backup b
    INNER JOIN Inserted i ON b.EmployeeID = i.EmployeeID


CREATE TRIGGER tr_Employee_Update
ON dbo.Employee
FOR UPDATE
AS
    UPDATE b
    SET Status = 'Updated'
    FROM dbo.Employee_Backup b
    INNER JOIN Inserted i ON b.EmployeeID = i.EmployeeID

你基本上需要加入 Inserted其中包含已從基表(插入(或更新)的所有行偽代碼表dbo.Employee )和Employee_Backup表- ,然后使用該結果從JOIN為您的基礎設置UPDATE聲明。

注意:這不會將任何新行插入Employee_Backup當你添加新的行dbo.Employee -是你想要的嗎? 如果沒有,則必須稍微更改FOR INSERT觸發器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM