我有一个包含 500k 记录的大型外部数据文件,我需要将其加载到 Oracle 19c 数据库,同时在加载时将业务逻辑应用于每一行。在加载期间,目标表中的某些行可能需要更新或删除。对于正在处理的输入数据中的每一行,如果该行因任何数据验证错误而未得到处理,则需要更新状态标志。 试图了解我是否应该使用 Oracle 全局临时表或 PL/SQL 集合(数组或嵌套表)来执行此逐行处理。也考虑合并,但不确定在这种情况下合并是否理想。
要将 500k 条记录加载到具有复杂的逐行业务逻辑的 Oracle 19c 数据库中,请考虑使用 Oracle 全局临时表 (GTT)。 GTT 允许高效的 SQL 操作,例如插入、更新和删除,使其适合管理中间数据和应用业务逻辑。此外,您可以在 GTT 中使用 PL/SQL 块来处理复杂的处理和状态标志更新。这种方法平衡了内存处理和SQL操作的好处,确保高效处理大数据量和详细的业务规则。