2016-07-26 63 views
0

我想Oracle游标基于两个表 在EMPLOYEE_NUMBERBRANCH_SECRETARIAT_CODE .table2更新ENTITY_BRANCH .table1如果我在两个表中有更多的超过20万名的员工......Oracle游标从另一个表更新列数据

的表1,我想更新的样子

EMPLOYEE_NUMBER JOINING_DATE  ENTITY_BRANCH 

    12    11/12/2006   null 
    13    01/11/2009   null 

表2从样子::

Employee_Number MINISTRY_CODE BRANCH_SECRETARIAT_CODE 

     12     333     30 
     13     222     31 
+0

任何尝试到目前为止? –

+0

您的意思是您想要在游标循环中逐行更新或批量更新行吗?为什么不做一个相关的更新语句 - 它会更快更简单,而200,000行并不是很多。 –

+0

一个一个我的意思是 – ALI

回答

1
更新

你可以用一个子查询做到这一点:

update ENTITY_BRANCH.table1 t 
    set ENTITY_BRANCH = (SELECT t2.BRANCH_SECRETARIAT_CODE 
         FROM BRANCH_SECRETARIAT_CODE.table2 t2 
         WHERE t2.Employee_Number = t.Employee_Number 
         ); 

没有必要光标做到这一点。另一方面,table2(Employee_Number, BRANCH_SECRETARIAT_CODE)上的索引将非常有帮助。

+0

没有工作的兄弟我得到了错误 – ALI

+0

那该错误是什么? –

+0

我编辑到雷尔表名称作为 – ALI

相关问题