同一个SQL服务器,两个不同的数据库,两个表间数据更新 
数据库 1 表 1
序号  名称  数量 ……
1000   abc  2  ……
1001   ded  3  ……
…………
数据库 2 表2
序号  名称  数量 ……
1000   abc  2  ……
1001   ded  3  ……
…………
怎么实现更新表1时 自动更新表 2 或者 手动 一次性更新

解决方案 »

  1.   

    -- 在数据库2中新建作业,一次性更新
    TRUNCATE TABLE 表2
    INSERT [表2](序号  名称  数量 ……) SELECT 序号  名称  数量 …… FROM [数据库 1].DBO.[表1]
      

  2.   

    用触发器实现自动更新
    用语句也可以
    update 数据库2..表2
    set 名称 = A.名称, 数量 = A.数量
    from 数据库1..表1 A
    inner join 数据库2..表2 B
    on A.序号 = B.序号update 数据库2..表2
    from 数据库1..表1 A
    right join 数据库2..表2 B
    on A.序号 = B.序号
    where B.序号 Is Nullinsert into 数据库2..表2
    select A.*
    from 数据库1..表1 A
    left join 数据库2..表2 B
    on A.序号 = B.序号
    where A.序号 Is Null
      

  3.   

    在表1上建立触发器,如下:
    create trigger tri_name
    on dbname1.dbo.table1
    for insert
    as 
    insert into dbname2.dbo.table2 from inserted