如何在删除之前创建触发器并保存用户名 [英] How I create trigger before delete and save the username

查看:59
本文介绍了如何在删除之前创建触发器并保存用户名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有table1: - 代码:name:Phone:deletedby:Date

1 mmm 02156



table2在删除前保存数据,



table2: - code:name:Phone:deletedby:Date

1 mmm 02156 admin 22/7/2016



我尝试了什么:



我该怎么做,谢谢,

i have table1 :- code : name : Phone : deletedby : Date
1 mmm 02156

table2 save data before delete,

table2 :- code : name : Phone : deletedby : Date
1 mmm 02156 admin 22/7/2016

What I have tried:

How i do that please and thanks,

推荐答案

SQL触发器没有之前选项。唯一的选择是之后或而不是:

创建触发器( Transact-SQL) [ ^ ]



但是,听起来您只想将已删除的记录复制到另一个表中。要做到这一点,你需要的只是一个后触发器和已删除的虚拟表:

SQL triggers don't have a "before" option. The only options are "after" or "instead of":
CREATE TRIGGER (Transact-SQL)[^]

However, it sounds like you just want to copy the records which have been deleted into a different table. To do that, all you need is an "after" trigger and the deleted virtual table:
CREATE TRIGGER TR_Table1_SaveDeleted
ON dbo.Table1
AFTER DELETE
As
BEGIN
    SET NOCOUNT ON;
    
    INSERT INTO dbo.Table2
    (
        Code,
        Name,
        Phone,
        DeletedBy,
        Date
    )
    SELECT
        Code,
        Name,
        Phone,
        SUSER_NAME(),
        GetUtcDate()
    FROM
        deleted
    ;
END;


这篇关于如何在删除之前创建触发器并保存用户名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆