跨库触发器

本文欢迎转载,但必须在文章显眼处保留原文地址

http://blog.163.com/ganlanfei@126/blog/static/1218198712010117102015585/



在MS SQL里面,标识一个对象,是使用四段式全称来标识的
 服务器名、数据库名、所有者名、对象名
 在同一服务器下面,也可以使用三段式全称来标识对象,所有者名的默认值是数据库的所有者(dbo),可省略,如:pubs.dbo.student和pubs..student表达的意思是一样的!
 请注意pubs..student(中间两点)

下面看下一个简单的例子吧。

create trigger triggerUser  //创建一个触发器,名称为triggerUser
    on student    
    after insert            //当插入student这张表之后触发,触发器分为三类insert触发器,update触发器,delete触发器;
as
   declare @username varchar(100)  //定义@username变量
   select @username = username from inserted  //为@username赋值,在为每个DML触发器里面都定义了两个特殊的表,inserted和deleted
   insert into Test..TestUser(userName)       //Test为数据库名称 ".."省略所有者(dbo),TestUser表名称
values(@username);



以上所述只是工作中遇到,记录一下而以 :)
posted on 2010-12-07 22:24  Ss_Andy  阅读(630)  评论(0编辑  收藏  举报