Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

заполнение CLOB поля в oracle 8   Найти похожие ветки 

 
Zabludshiy   (2004-08-03 13:22) [0]

Всем доброго времени!
Помогите разобраться. Надо записать в CLOB текст > 100KB. В oracle 9 использовал TO_CLOB(), и писал в CLOB-поле переменную типа varchar2. В восьмерке так не получается. Пробую разобраться с DBMS_LOB. Нормально описано как скопировать один LOB в другой, а вот как длинный текст туда загнать понять не могу.
Спасибо.


 
roottim ©   (2004-08-03 14:49) [1]

>В oracle 9 использовал TO_CLOB(), и писал в CLOB-поле переменную типа varchar2

не понял в чем конкретно проблема

SQL> CREATE TABLE ttt (id INT, NAME clob)
 2  /

Таблица создана.

SQL>
SQL> DECLARE
 2    vs VARCHAR2(4000) := "";
 3  BEGIN
 4    FOR i IN 1..2000 LOOP vs := vs||"WW"; END LOOP;
 5    INSERT INTO ttt VALUES(7, vs);
 6    COMMIT;
 7  END;
 8  /

Процедура PL/SQL успешно завершена.

SQL>
SQL> SELECT * FROM ttt
 2  /

       ID
----------
NAME
--------------------------------------------------------------------------------
        7
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW


 
Zabludshiy   (2004-08-03 15:02) [2]

Проблема в том, что мне нужно внести текст размером больше чем максимальный размер varchar2. В oracle 9 varchar2 имеет макс. размер 2Гб, тогда как в oracle 8 - 4000.


 
Reindeer Moss Eater ©   (2004-08-03 15:05) [3]

varchar2 имеет один и тот же размер и в восьмерке и в девятке.

Если это поле таблицы, то 4000
Если это переменная PL/SQL блока, то это 32767.


 
Reindeer Moss Eater ©   (2004-08-03 15:06) [4]

И попутный вопрос:
зачем использовать varchar2 если работать надо с clob?


 
Zabludshiy   (2004-08-03 15:22) [5]

Сори, запутался немного.
В 9-ке біло так:
declare var1 clob;
begin
var1:="Тут большоой текст (размером промерно 200 КБ)

";

Insert into table (id, Clob_field, ) Values (
84, TO_CLOB(var1));  
end;


В восьмёрке начала ругаться на TO_CLOB, мол нет такого у него, а потом на размер литерала присваемого var1, если он был больше 4000 (или 32767, точно не помню).


 
Reindeer Moss Eater ©   (2004-08-03 15:25) [6]

А зачем TO_CLOB?
Если есть dbms_lob.write, writeappend ?


 
Zabludshiy   (2004-08-03 17:47) [7]

Всем спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
4-1088519828
Rain
2004-06-29 18:37
2004.08.29
Прием DTMF сигналов посредством модема


1-1092127618
ЮрийК
2004-08-10 12:46
2004.08.29
Вылет проги по "Invalid floating point operation"


4-1089798727
Andrew
2004-07-14 13:52
2004.08.29
Каким способом определить под какой ОС (98,XP) запустили прогу?


1-1092339983
Cobalt
2004-08-12 23:46
2004.08.29
Установка компонент в D7


14-1091636339
Fay
2004-08-04 20:18
2004.08.29
Полный RULEZZ!