从一张表更新到另一张表,SQL更新语句如果能实施两表有效连接并能指定用源表的特定字段(或基于该源字段的计算表达式)准确更新到被更新表的目标字段,那么就可以实现高效率的更新操作。
具体的实现语句根据源表、目标表结构的不同以及具体的更新方式可能会有很大的变化,没有通用的写法。需要指出一点,不是所有的情况下都可以单纯用SQL语句实现高效“从一张表更新到另一张表”的。良好设计的数据结构和较为简单的更新方式有利于用SQL语句实现已有表高效更新到其他表,有些情况下是无法简单实现SQL语句高效更新的,此时就只能退而求其次,借助编程手段或低效率的游标去解决了。
下面提供一个SQL语句一张表更新到另一张表的例句供参考:
T1(ID,Name)
T2(ID,Name)
T1和T2具有相同“ID”的姓名可能不一致,现在要求将T2中不一致的姓名更新到与T1中对应ID姓名一致,实现SQL更新语句如下
update T2 a,T1 b set a.Name=b.Name where a.ID=b.ID