SQL Server触发器(在行上访问)

时间:2014-07-01 08:17:27

标签: sql-server triggers

我想在SQL Server中创建两种类型的触发器(INSERT,UPDATE):

CREATE TRIGGER  [dbo].[trigger_upd_ins] 
ON [dbo].[Kunden] 
AFTER INSERT, UPDATE
AS 
BEGIN
    SET NOCOUNT ON;

    INSERT INTO [updateTab] (rowid, tablename, command) 
    VALUES (rowid, 'Kunden', 'INSUPD')
END

DELETE:

CREATE TRIGGER [dbo].[trigger_del] 
ON [dbo].[Kunden]
FOR DELETE
AS 
BEGIN
    SET NOCOUNT ON;

    INSERT INTO [updateTab] (rowid, tablename, command) 
    VALUES (rowid, 'Kunden', 'DELETE')
END
GO

我想在另一个表中编写已更改行(rowid)的索引。 但是我如何访问此专栏?

Greetz Simon

1 个答案:

答案 0 :(得分:0)

在触发器中,您可以访问两个名为inserted和deleted的特殊表,这些表将镜像您附加触发器的表的列。

你可以像真正的表一样使用它们。你可以在连接等中使用它们。

select i.*
from inserted i

更多信息: http://msdn.microsoft.com/en-au/library/ms191300.aspx