tb1
Name Phone
张三 123
李四 123tb2
Name Phone
张三 123
李四 123
当tb1变成
Name Phone
张三 123
李四 456
王五 123
写什么样的语句让tb2的李四也变成456,并且增加王五这条记录
最后tb2和tb1一样
整个功能如何实现?tb1因为在另外一台服务器上,只有查询的权限,所以我做不了两表同步更新

解决方案 »

  1.   

    补充一点,如果tb1删除了某条数据,tb2也要跟着删除
      

  2.   

    不同步不要紧,我一周去更新一次但是不知道如何写更新的语句,即能update,又能增加新记录
      

  3.   

    写程序 语句类似这样if exists(select [Name] from tb1 where [Name]='张三')
              update tb1 set [Phone]='123' where [Name]='张三'
         else
              insert tb1 values('张三','123')
        end变量在程序中重新赋值
      

  4.   

    或者采用Sql中自带的这个MERGE INTO bonuses D
       USING (SELECT employee_id, salary, department_id FROM employees WHERE department_id = 80) S
       ON (D.employee_id = S.employee_id)
       WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01
         DELETE WHERE (S.salary > 8000)
       WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus)
         VALUES (S.employee_id, S.salary*0.1)
         WHERE (S.salary <= 8000);
    我没搞出来……  网址如下:
    http://wsql.iteye.com/blog/1193889