插入嵌套 table plsql

Insert into nested table plsql

我是 pl sql 的新手,我在插入嵌套 table 时遇到了一些问题(我使用这些只是为了测试一个过程)。 所以我的代码是:

insert into t_prenotazioni
      (nro_cliente, data_disponibilita)
    values
      (righe.nro_cliente, v_data_disponibilita);

其中 t_prenotazioni 是我定义的类型的 table,righe.nro_cliente 是我从游标获得的值,v_data_disponibilita 是一个变量。 我得到的错误是:

PLS-00330 invalid use of type name or subtype

您可能正在尝试执行以下操作:

declare
    type type_prenotazioni is record(nro_cliente number, data_disponibilita date);
    type prenotazioni is table of type_prenotazioni;
    vPrenotazioni prenotazioni;
begin
    vPrenotazioni := new prenotazioni();
    vPrenotazioni.extend(1);
    vPrenotazioni(1).nro_cliente := 10;
    vPrenotazioni(1).data_disponibilita := sysdate;
    --
    for i in vPrenotazioni.first .. vPrenotazioni.last loop
        dbms_output.put_line(vPrenotazioni(i).nro_cliente || ' - ' ||
                                to_char(vPrenotazioni(i).data_disponibilita, 'dd/mm/yyyy')
                               );
    end loop;
end;

我强烈建议您看一下 the Oracle documentation 以增加您的知识;这只是一个简单的小例子,但您可能想做很多不同的事情。