在SQL Server中,触发器是一种特殊类型的存储过程,它可以在数据库中的某个表上执行特定的操作,例如在插入、更新或删除数据时触发。触发器可以用于强制实施业务规则、维护数据完整性、审计数据更改等。
在插入数据时触发的触发器称为INSERT触发器。要创建INSERT触发器,可以使用以下语法:
CREATE TRIGGER trigger_name
ON table_name
FOR INSERT
AS
BEGIN
-- trigger code
END
在触发器内部,可以使用INSERTED
伪表来引用插入的数据。INSERTED
表包含插入操作中的所有新行。例如,如果要在插入新行时将某些列的值相加并将结果存储在另一个表中,可以使用以下触发器代码:
CREATE TRIGGER trigger_name
ON table_name
FOR INSERT
AS
BEGIN
DECLARE @sum INT
SELECT @sum = SUM(column1 + column2)
FROM INSERTED
INSERT INTO other_table (sum_column)
VALUES (@sum)
END
在上面的示例中,column1
和column2
是要相加的列的名称,other_table
是要将结果插入的表的名称,sum_column
是要存储结果的列的名称。
请注意,触发器可以在插入、更新或删除数据时触发,因此在引用插入的数据时,应该使用INSERTED
伪表。如果要在更新数据时引用更新的数据,可以使用UPDATED
伪表。如果要在删除数据时引用删除的数据,可以使用DELETED
伪表。
领取专属 10元无门槛券
手把手带您无忧上云