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

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

Можно ли изменить длинну поля, не потеряв данные в этом поле [IB6.x]


Term ©   (2003-10-22 10:55:00) 

Можно ли изменить длинну поля, не потеряв данные в этом поле, если можно то как?


stud   (2003-10-22 14:02:00) [1]


> Johnmen © (22.10.03 11:39) [15]

золотые слова)))


kaif   (2003-10-22 13:40:00) [2]

Нужно было чуть-чуть больше терпения проявить:

ALTER TABLE STUDENTS
alter column FORMA_OBUCH TYPEVARCHAR(10);

Колонка меняет тип и все данные сохраняются. Согласен с Johnmen - в системные таблицы лазить с апдейтами нужно в очень редких случаях


Кщд   (2003-10-22 11:42:00) [3]

проблемы будут
люди придут
всё - чистая правда
рву волосы, ухожу в монастырь :)


Johnmen   (2003-10-22 11:39:00) [4]

Все, кто лазит без крайней нужды в системные таблицы, к тому же особенно не вникая в суть, рано или поздно будет иметь большие проблемы.
С которыми и придет сюда...:)


Term   (2003-10-22 11:32:00) [5]


> Кщд (22.10.03 11:23) [10]
> так тоже не идёт?
> update RDB$FIELDS set
> RDB$FIELD_LENGTH = M,
> RDB$CHARACTER_LENGTH = M
> where RDB$FIELD_NAME = "RDB$N"
> где M - кол-во символов, N - внутренний номер домена IB

помогло!!!
ВСЕМ СПАСИБО :)))


Johnmen   (2003-10-22 11:27:00) [6]

>Term © (22.10.03 11:24)

Special for you:

Пуск->Программы->InterBase->Documentation->SQL Reference Help


bushmen   (2003-10-22 11:24:00) [7]

>Откуда взят такой синтаксис ?

Я в первом своем сообщении писал - MS SQL, тут может и не прокатить - я предупреждал :)


Term   (2003-10-22 11:24:00) [8]


> Johnmen © (22.10.03 11:20) [7]
> Твоя проблема в нежелании прочитать хелп на ALTER TABLE

у меня нет хелпа по SQL, а в книге только ADD


Кщд   (2003-10-22 11:23:00) [9]

так тоже не идёт?
update RDB$FIELDS set
RDB$FIELD_LENGTH = M,
RDB$CHARACTER_LENGTH = M
where RDB$FIELD_NAME = "RDB$N"
где M - кол-во символов, N - внутренний номер домена IB


Johnmen   (2003-10-22 11:22:00) [10]

>bushmen © (22.10.03 11:10)

Откуда взят такой синтаксис ?


Term   (2003-10-22 11:20:00) [11]

так я и меняю на болшее была длинна 6 символов хочу сделать 10...
или я чтото недопонял...


Johnmen   (2003-10-22 11:20:00) [12]

Твоя проблема в нежелании прочитать хелп на ALTER TABLE


bushmen   (2003-10-22 11:17:00) [13]

>Token unknown - line 2, char 26
VARCHAR

У тебя запись во второй строчки имеет длину поля 26 символов - я предупреждал, что меняется на большее !


Term   (2003-10-22 11:16:00) [14]

сделал так:
ALTER TABLE STUDENTS
alter column FORMA_OBUCH VARCHAR(10);


получил это:

Dynamic SQL Error
SQL error code = -104
Token unknown - line 2, char 26
VARCHAR
Statement: ALTER TABLE STUDENTS
alter column FORMA_OBUCH VARCHAR(10)

в чом проблема??? я чтото непонял, почему на VARCHAR ругается??


Johnmen   (2003-10-22 11:16:00) [15]

Через создание временного поля...


bushmen   (2003-10-22 11:10:00) [16]

alter table <имя таблицы> alter column <имя столбца> <новый тип>


Term   (2003-10-22 11:04:00) [17]

а как это сделать
я знаю как добавить новое поле:
ALTER TABLE < >
ADD < > < >;

а какой командой поменять тип поля???


bushmen   (2003-10-22 10:58:00) [18]

Не знаю, как в IB, но в MSSQL если ты увеличиваешь длину поля или преобразуешь в другой тип, то ничего не теряешь. Если невозможно преобразовать - выдается ошибка, что есть данные, не соотвктствующие критерию. Ничего не теряется


Наверх

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