创建删除前触发器?

问题描述:

id country_name region  area   population 

    1 LASvega  Americas  2314  2134562  
    2 California AMERICAS  10101  2134562 
    3 Algeria  Middle East 24000000 32900000 
    4 Andorra  Europe  468  64000   

触发删除查询,就在此触发器被触发并保存到另一个表中的记录。如果我想删除记录没有3,然后将其保存到另一个表中。创建删除前触发器?

+0

请停止使用“mssql”标记您的问题,并使用“sql-server” - “mssql”已经过时了。 – 2009-11-11 04:21:47

您可以使用UPDATE或DELETE触发器中可用的特殊Deleted表。

CREATE TRIGGER trg 
ON tbl 
FOR DELETE 

INSERT INTO OtherTable 
    SELECT * FROM Deleted 
+0

我想删除用户给出的特定记录。在此之前,我想触发触发器。并将该删除的行保存到另一个表中以提供任何名称。 – sikender 2009-11-11 00:33:26

+0

@Sikender:SQL Server不提供before删除触发器。但是,在触发删除后触发器的过程中,被删除的行在伪表DELETED中可用。对于如何保存这些行,dnolan有正确的想法。 – 2009-11-11 05:08:38

+1

@Sikendar:在删除之前捕获的唯一另一种替代方法是使用存储过程,该存储过程包装了删除命令以及您希望在其之前执行的任何代码 – dnolan 2009-11-11 08:50:00