Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];

Вниз

Как переконвертировать Long v VarChar2 ?   Найти похожие ветки 

 
DPashin   (2002-06-10 09:08) [0]

Имеется таблица с полем типа Long, содержащим строки длиной от 0 до 500 символов. Нужно преобразовать это поле к типу данных Varchar2. Как это сделать средствами Oracle, желательно через SQL?
Версия сервера-8.1.6.


 
DarkGreen   (2002-06-10 11:40) [1]

//Создаем временое поле

alter table my_tbl
add (new_field carchar2(500));

//Заносим в него данные из старого поля

update my_tbl
set new_field = old_field;

//Удаляем старое поле

alter table
drop column old_field;

//Пересоздаем его с нужным типом данных

alter table my_tbl
add (old_field carchar2(500));

//Опять данные перекачиваем

update my_tbl
set old_field = new_field;

//Удаляем временное поле

alter table
drop column new_field;

Или вот так, покороче, хотя может не получится (не знаю сможет ли от LONG в VARCHAR2 преобразовать:

alter table
modify (old_field varchar2(500));


 
DPashin   (2002-06-10 15:07) [2]

Может я конечно не прав, но

>//Заносим в него данные из старого поля
>update my_tbl
> set new_field = old_field;

не работает (Invalid use of long dataType).




 
MishGan`   (2002-06-10 15:50) [3]

Это можно сделать с использованием OCI (или чего нибудь подобного) только на клиенте.
Средства SQL/PLSQL не позволяют напрямую работать с LONG/LONG RAW полями.


 
DPashin   (2002-06-11 06:06) [4]

Спасибо.



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

Форум: "Базы";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
3-9759
igrik
2002-06-13 13:31
2002.07.04
Poisk


14-9976
dimich
2002-06-03 14:40
2002.07.04
Что делать с винтом?


1-9886
alext
2002-06-20 15:48
2002.07.04
Коды стрелок?


14-9987
IronHawk
2002-05-23 14:04
2002.07.04
СПЕЦ ВЕТКА записи на Киевскую встречу Мастаков!!!


1-9808
liho26
2002-06-24 07:51
2002.07.04
Про Caps, Scroll и Num





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский