![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли изменить длинну поля, не потеряв данные в этом поле [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 если ты увеличиваешь длину поля или преобразуешь в другой тип, то ничего не теряешь. Если невозможно преобразовать - выдается ошибка, что есть данные, не соотвктствующие критерию. Ничего не теряется