Plsql Oracle正在尝试使用具有计数值的数据更新表
下面的代码不完整,因为我正在尝试更新一个包含250000行的表。 请参阅下面的代码,并建议可能出现的问题,以及如何提高性能,以便完成更新 开始Plsql Oracle正在尝试使用具有计数值的数据更新表,plsql,plsqldeveloper,plsql-package,Plsql,Plsqldeveloper,Plsql Package,下面的代码不完整,因为我正在尝试更新一个包含250000行的表。 请参阅下面的代码,并建议可能出现的问题,以及如何提高性能,以便完成更新 开始 您没有发布游标声明 不管怎样:你在嵌套循环中做每件事,在循环中前进 首先,将COMMIT从循环中移除;在程序结束时留下一个 如果可能,在单个SQLUPDATE语句中执行所有操作,避免使用PL/SQL 您没有发布游标声明 不管怎样:你在嵌套循环中做每件事,在循环中前进 首先,将COMMIT从循环中移除;在程序结束时留下一个 如果可能,在单个SQLUPD
您没有发布游标声明 不管怎样:你在嵌套循环中做每件事,在循环中前进
- 首先,将
从循环中移除;在程序结束时留下一个COMMIT
- 如果可能,在单个SQL
语句中执行所有操作,避免使用PL/SQLUPDATE
- 首先,将
从循环中移除;在程序结束时留下一个COMMIT
- 如果可能,在单个SQL
语句中执行所有操作,避免使用PL/SQLUPDATE
open C5_CUR;
loop
FETCH C5_CUR
into C5_ARRAY;
exit when C5_CUR%notfound;
open C4_CUR(C5_ARRAY.client_entity_number);
loop
FETCH C4_CUR
into C4_array;
exit when C4_CUR%notfound;
update Wh_stg_clc.MARKETING_NEWSLETTER_REP n
set n.family_count = C4_array.Family_Count
where n.client_entity_number = C5_ARRAY.client_entity_number;
dbms_output.put_line('Count has been updated');
commit;
end loop;
close C4_CUR;
end loop;
commit;