小编Jon*_*rda的帖子

更新或删除时的 SQL 触发器

我必须有一个触发器来触发更新或删除操作。当更新某一列时,我的触发器工作正常。但是,当触发 DELETE 操作时,我需要不同的逻辑。我如何在一个触发器中同时拥有这两种逻辑?这是我到目前为止所拥有的:

ALTER TRIGGER [dbo].[Audit_Emp_Trigger]
   ON  [dbo].[EMPLOYEE]
   AFTER UPDATE, DELETE
AS 

BEGIN
    --Only execute the trigger if the Dno field was updated or deleted
    IF UPDATE(Dno)
    BEGIN

    --If the Audit_Emp_Record table does not exist already, we need to create it
    IF OBJECT_ID('dbo.Audit_Emp_Record') IS NULL
    BEGIN
    --Table does not exist in database, so create table
    CREATE TABLE Audit_Emp_Record
    (
    date_of_change smalldatetime,
    old_Lname varchar (50),
    new_Lname varchar (50),
    old_ssn int,
    new_ssn int,
    old_dno int,
    new_dno int
    );

    --Once table is created, …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server

1
推荐指数
1
解决办法
4433
查看次数

标签 统计

sql-server ×1

t-sql ×1