Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вставка данных в поле LONG в ORACLE [Oracle, ]


EternalWonderer ©   (2001-12-26 15:21:00) 

От IB к Oracle - не поле перейти ...

Задача: внутри одной схемы перекачать данные из таблицы, полученной при помощи DataPump в похожую по структуре таблицу (похожую - потому что размеры некоторых полей подправлены).

Проблема: Если в таблицах присутствует поле LONG, в ответ на
insert into target_table select * from src_table имеем:
ORA-00997 illegal use of LONG datatype.
(Если поля LONG нет - success). Читаем Help:

Cause: A value of datatype LONG was used in a function or in a DISTINCT, WHERE, CONNECT BY, GROUP BY, or ORDER BY clause. A LONG value can only be used in a SELECT clause.

Action: Remove the LONG value from the function or clause.

Про insert и select ни слова ... Что делать? Прошу совета!


EternalWonderer   (2001-12-27 11:33:00) [1]

> Mick А вот и можно! Вот это работает (почему - не знаю):

CREATE OR REPLACE procedure test1 is
cursor p is select * from CATALOG_IB;
v CATALOG_ORA%ROWTYPE;
begin
open p;
loop
fetch p into v;
if p%NOTFOUND then exit; end if;
insert into CATALOG_ORA values (v.fields...,v.OTHER);
end loop;
end;
/


Mick   (2001-12-26 18:45:00) [2]

Снова Datapump. Иначе никак :(


EAlexander   (2001-12-26 16:40:00) [3]

не работает именно insert.
также не будет работать Create table some_table as select.
Можно попробовать через SP, но надо писать ручками :(


Наверх

Титульная страница Поиск, карта сайта Написать письмо