Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 ora-06530 reference to uninitialized composite  [new]
T-S
Member

Откуда: Saint-Petersburg
Сообщений: 107
Всем привет!
помогите справится с ошибкой - oracle ora-06530 reference to uninitialized composite.

был создан новый тип:
create type documents as object (cbaccount varchar2(20), postdate date, docdate date, description varchar2(512), amount varchar2(32));


создана таблица docs_tt c одной колонкой c_dtt тип поля documents.

Есть процедура, с помощью которой хочу вставить данные в таблицу docs_tt.

create or replace procedure load_docs_tt
as
v_docs documents;
cursor cur_docs is select * from payment;

begin
for i in cur_docs then
loop
v_docs.cbaccount := i.account;
v_docs.postdate := i.pstdt;
v_docs.docdate := i.documentdate;
v_docs.description := i.payment_details;
v_docs.docdate := i.amount;
end loop;
insert into docs_tt values (v_docs);
exception
when others then
dbms_output.put_line(sqlerrm);
end;

подскажите, что сделать ???
16 июл 13, 00:37    [14570641]     Ответить | Цитировать Сообщить модератору
 Re: ora-06530 reference to uninitialized composite  [new]
Изя Кацман
Member

Откуда: Великий Эксперимент
Сообщений: 2019
T-S
Всем привет!
помогите справится с ошибкой - oracle ora-06530 reference to uninitialized composite.

был создан новый тип:
create type documents as object (
   cbaccount varchar2(20),
   postdate date, 
   docdate date, 
   description varchar2(512),
   amount varchar2(32));



создана таблица docs_tt c одной колонкой c_dtt тип поля documents.

Есть процедура, с помощью которой хочу вставить данные в таблицу docs_tt.

create or replace procedure load_docs_tt
as
v_docs documents;
cursor cur_docs is select * from payment;

begin
for i in cur_docs then
  loop
     v_docs.cbaccount := i.account;
     v_docs.postdate := i.pstdt;
     v_docs.docdate := i.documentdate;
     v_docs.description := i.payment_details;
     v_docs.docdate := i.amount;
  end loop;
insert into docs_tt values (v_docs);
exception
   when others then
      dbms_output.put_line(sqlerrm);
end;


подскажите, что сделать ???
Если хочешь, чтобы тебя читали, пользуй тэг SRC, камрад
16 июл 13, 00:42    [14570654]     Ответить | Цитировать Сообщить модератору
 Re: ora-06530 reference to uninitialized composite  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
T-S
помогите справится с ошибкой - oracle ora-06530 reference to uninitialized composite.
инициализируй... а в твоем случае вообще одним запросом можно
16 июл 13, 00:48    [14570663]     Ответить | Цитировать Сообщить модератору
 Re: ora-06530 reference to uninitialized composite  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
T-S,

insert into docs_tt 
select documents(i.account,i.pstdt,i.documentdate,i.payment_details,i.amount) from payment;
16 июл 13, 00:51    [14570665]     Ответить | Цитировать Сообщить модератору
 Re: ora-06530 reference to uninitialized composite  [new]
T-S
Member

Откуда: Saint-Petersburg
Сообщений: 107
xtender, подскажи плиз как это сделать.
Спасибо.
16 июл 13, 00:51    [14570669]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить