【发布时间】:2018-09-02 02:00:42
【问题描述】:
我在 oracle 11g 中有一个名为 parlamentari 的表格:
cf varchar(16) 名称 varchar(20) 认知 varchar(20) telefoni telefoni_NT
其中 telefoni_NT 是 varchar2 的嵌套表。 现在,我必须将一个元组 (sorgente) 的嵌套表的元素复制到另一个元组 (ricevente) 中。 我试着写一个例子
开始情况
parlamentari
-------------------------------------
cf | nome | cognome | telefoni
-------------------------------------
1 | a | aa | VARCHAR(222,444)
2 | b | bb | VARCHAR(111)
程序调用后的情况
parlamentari
-------------------------------------
cf | nome | cognome | telefoni
-------------------------------------
1 | a | aa | VARCHAR(222,444)
2 | b | bb | VARCHAR(111, 222, 444)
我试图写这个程序没有成功
create or replace procedure copia_telefoni2
(sorgente in parlamento2018.parlamentari.cf%type,
ricevente in parlamento2018.parlamentari.cf%type) as
cursor cur_out_tel is
select column_value as original_list
from parlamentari, table(telefoni)
where cf = sorgente
;
cursor in_parlamentare is
select column_value as copied_list
from parlamentari, table(telefoni)
where cf = destinazione;
begin
if (sorgente <> destinazione) then
for i in cur_out_tel loop
dbms_output.put_line(i.original_list);
insert into table(select telefoni from parlamentari where cf=destinazione) values (telefoni_nt(i.original_list));
end loop;
else
dbms_output.put_line('Errore! Sorgente e destinazione uguali');
end if;
end copia_telefoni2;
【问题讨论】: