采用存储过程的方式批量更新数据,甲骨文中也可采用merge-update的方式更新,不过采用如下存储过程的方式会更快些
申报的东西 MAX_ROWS 才能,,,,,,,,,,,,NUMBER DEFAULT 5000; ROW_ID_TABLE 才能,,,,,,,,DBMS_SQL.UROWID_TABLE; DATE_TIME_TABLE 才能,,,,,,DBMS_SQL.DATE_TABLE; CURSOR 才能;C1 ,,,SELECT /* +, use_hash (t1, t2),并行(t1, 2),并行(t2, 2), */,,,,,T1.DATE_TIME T2.ROWID ,,,,,得到TEST_TABLE_1 T1, T2 TEST_TABLE_2 ,,,,WHERE T1.TABLE_ID =T2.TABLE_ID ,,,,,,以及T2.DATE_TIME IS NULL ,,,,,,以及T1.DATE_TIME IS NOT NULL ,,,,,,ORDER BY T2.ROWID; 开始 OPEN 才能,C1; ,循环 ,,,EXIT WHEN C1%NOTFOUND; ,,,FETCH C1 BULK 收集 ,,,,,INTO DATE_TIME_TABLE,, ROW_ID_TABLE LIMIT MAX_ROWS; ,,,FORALL 小姐:1,拷贝. . ROW_ID_TABLE.COUNT ,,,,,UPDATE TEST_TABLE_2 ,,,,,,,,SET DATE_TIME =, DATE_TIME_TABLE(我),LCD=SYSDATE ,,,,,,WHERE ROWID =, ROW_ID_TABLE(我); ,,,提交; 最终获得才能;循环; CLOSE 才能,C1; 结束;/