Oracle apex 如何将共享外键分配给使用数据加载向导插入的所有记录?
我有一个ApEx应用程序,其中一个目的是要求上传电信提供商提供的计费数据。数据将作为CSV文件提供 我们有两张桌子。第一个表phone_invoice包含每个发票的元数据,例如计费日期和提供商名称。第二个表,电话发票明细主要基于通话记录 phone\u invoice\u detail有一个外键invoice\u id,该外键输入phone\u invoiceid。这将创建库存标准主明细关系 我们使用ApEx数据加载向导为用户设置导入功能。但是我需要为每个导入的行分配发票id 目前,我有一个电话发票页面。用户单击一个按钮,导入发票数据,该按钮将分支到数据加载向导,并使用该发票ID的值设置页面项P1000\u Invoice\u ID-P999\u ID 当用户开始该过程时,提供的CSV数据包含除发票ID以外的所有字段。我想要的是基础表中的该列-发票ID-设置为P1000发票ID的值 我目前的重点是使用转换规则。这是非常令人沮丧的,因为文档没有告诉您关于它们的任何信息,也没有示例 我尝试过的排列:Oracle apex 如何将共享外键分配给使用数据加载向导插入的所有记录?,oracle-apex,Oracle Apex,我有一个ApEx应用程序,其中一个目的是要求上传电信提供商提供的计费数据。数据将作为CSV文件提供 我们有两张桌子。第一个表phone_invoice包含每个发票的元数据,例如计费日期和提供商名称。第二个表,电话发票明细主要基于通话记录 phone\u invoice\u detail有一个外键invoice\u id,该外键输入phone\u invoiceid。这将创建库存标准主明细关系 我们使用ApEx数据加载向导为用户设置导入功能。但是我需要为每个导入的行分配发票id 目前,我有一个电话
-- PL/SQL Expression:
:INVOICE_ID := :P1000_INVOICE_ID
:INVOICE_ID := :P999_ID
SELECT :P1000_INVOICE_ID INTO :INVOICE_ID FROM DUAL
SELECT :P999_ID INTO :INVOICE_ID FROM DUAL
-- Replace:
-- Expression 1 Expression 2
:P1001_INVOICE_ID :INVOICE_ID
:P999_INVOICE_ID :INVOICE_ID
如您所见,APEX为导入创建了4个页面。它使用名为LOAD_CONTENT的apex集合来存储导入的数据。因此,您可以在将此集合加载到表中之前对其进行更改 转到名为“数据验证”的页面此页面具有报告数据验证,并添加页面过程,以及下一个参数: 类型:PL/SQL匿名块 处理点:加载-在收割台之前 资料来源: 但在这个过程中,您的列的编号发生了变化。
我在我的APEX版本4.1中尝试过这个例子-它工作得很好。谢谢-我将在周一看一看。它工作得很好,但正如有时发生的那样,需求发生了变化。
declare
-- Local variables here
i integer;
begin
for i in (
select t.seq_id
from apex_collections t
where t.collection_name = 'LOAD_CONTENT'
) loop
apex_collection.update_member_attribute(
p_collection_name => 'LOAD_CONTENT',
p_seq => i.seq_id,
p_attr_number => 3, -- here number of your column you want update
p_attr_value => :P1000_INVOICE_ID -- value
);
end loop;
end;