T1(A (VARCHAR),
    E (VARCHAR)
  )
T2(A (VARCHAR),--PK
   B (NUM),
   )
T3(
   B (NUM), PK
   E (VARCHAR),
   .............(省略50个字段)
  )T1和T2通过A字段进行关联,T2和T3通过B字段进行关联。我要通过检索T2,用T1的E字段来更新对应T3的E字段。
我目前的方法是:
先把T1和T2的关联结果返回,然后通过游标逐条更新T3。
但是由于数据量大,效率很低。如何提高这个实现的效率?谢谢!

解决方案 »

  1.   

    update t3 set e=(select t1.e from t1,t2 where t1.a=t2.a and t2.b=t3.b)这样一句不就好了么,为什么要用游标??
      

  2.   

    update t3 set e=(select t1.e from t1,t2 where t1.a=t2.a and t2.b=b)
    上面打错了
      

  3.   

    楼上的,因为当t2中缺少和t1匹配的数据时,我要单独处理的,写到其他表中去,否则更新到t3。
    也就是说对t1和t2关联的数据结果集,我要分情况进行处理。如果像你说的那样,我就要做两次了。