【发布时间】:2017-10-23 14:30:49
【问题描述】:
我有一个 Aux_Nac 表,它在学生表格中由列表管理器项表示。他们的联系:学生 -|-----Aux_Nac] >------|- 民族。我知道 PXX_LISTMANAGER 保存了类似这样的内容:'A:B:C:D:Z:P:Y',但是如何取出并记录下来?
【问题讨论】:
我有一个 Aux_Nac 表,它在学生表格中由列表管理器项表示。他们的联系:学生 -|-----Aux_Nac] >------|- 民族。我知道 PXX_LISTMANAGER 保存了类似这样的内容:'A:B:C:D:Z:P:Y',但是如何取出并记录下来?
【问题讨论】:
更改此代码并将其复制并粘贴到程序代码中:
DECLARE
l_nat nationalities.nome%type;
l_remainings varchar2(500);
l_pos number := 0;
BEGIN
l_remainings := :P27_nationalities || ':';
WHILE INSTR(l_remainings, ':') > 0
LOOP
l_pos := INSTR(l_remainings, ':');
l_nat := SUBSTR(l_remainings, 0, l_pos - 1);
l_remainings := SUBSTR(l_remainings, l_pos + 1, LENGTH(l_remainings));
INSERT INTO AUX_NAC (nationalities_id
,students_id)
VALUES ((SELECT nc.id_nc FROM nationalities nc WHERE nc.name = l_nat)
,:P27_ID);
END LOOP;
结束;
【讨论】: