我有一个论坛数据库和主网站数据库。
存放在SQL2005数据库下,分别是 数据库A  和 数据库B。现在想用触发器把 
数据库A中的用户表内指定字段(如 UserName PassWord Email) 和
数据库B中的用户表内对应字段同步。请问这个触发器要怎么写? 网上找了不少 基本是不同服务器不同数据库的相同表
同步,有比较复杂的启动事物等步骤。 不太明白如何写这个触发器。还请高手们有时间的话可以指点一下,感激不尽!

解决方案 »

  1.   

    数据库在更新,插入,删除时都有一个系统临时表。
    insertrow?  (不好意思,你在查下,半年没写过了。)
    插入的数据是先放到这张表里。
    拿到这个数据一起插入到两张表里,如果出错就rollback就可以了。
      

  2.   

    跨服务器触发?参考:SQL Server 2005 创建跨服务器“触发器”http://topic.csdn.net/u/20100610/17/66fadf93-b284-403b-af27-cae49fdbd840.html?94924
      

  3.   

    ---如果原先的记录还需要保留的话 可以直接用insert-- 类似create tigger test on a..用户表
    for insert,update
    asinsert into
     b..用户表(UserName, PassWord, Email) 
    select
     UserName ,PassWord ,Email
    from
     inserted i
    where 
      checksum(UserName, PassWord, Email)
    not in(select checksum(UserName, PassWord, Email) from inserted)
      

  4.   

    ---如果是更新的话 create tigger test on a..用户表
    for insert,update
    as
    update
      a
    set
      UserName=i.UserName,password=i.password, Email=i. Email
    from
      b..用户表 a,inserted i
    where
      ---这里写关联字段insert into
     b..用户表(UserName, PassWord, Email) 
    select
     UserName ,PassWord ,Email
    from
     inserted i
    where 
      checksum(UserName, PassWord, Email)
    not in(select checksum(UserName, PassWord, Email) from inserted)
      

  5.   

    感谢 fredrickhu 的回答,
    我需要  insert update delete 都同步,
    请问代码还具体需要操作哪些吗? 比如两边数据库表的 触发器都需要怎么写。 没用过触发器,是不是一边些一个代码
    触发后 操作对应的另外一个数据库的表,主要还有一个访问另外库的代码吧?因为不是同一个库的