触发器在不同的模式中

时间:2011-05-29 05:24:39

标签: sql sql-server tsql triggers schema

我是SQL Server新手。

我必须编写一个触发器,用于在MS SQL中插入和更新不同模式中的表。

示例:

  

一个模式中的TEMP1表

     

另一个Schema中的TEMP2表

如何做到这一点?

3 个答案:

答案 0 :(得分:2)

只要SCHEMA拥有相同的所有者(CREATE SCHEMA中的AUTHORIZATION位),您只需使用2个部分名称来引用对象。

另见CREATE TRIGGER

create trigger MyTrigger on Schema1.Table1
for insert
as
set nocount on
insert Schema2.Table2 (...)
select (..) from inserted
go

答案 1 :(得分:1)

不确定我是否完全理解了这个问题,但基本语法如下所示:

create trigger MyTrigger on Schema1.Table1
after insert, update
as
    insert Schema2.Table2 values(1, 'test', ...)

    update Schema3.Table3
    set Name = 'XX'
    where Id = 1
go

答案 2 :(得分:0)

您必须创建多个触发器来处理不同表上的不同事件。

请参阅CREATE TRIGGER (Transact-SQL)