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

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

Изменение свойств поля [D7, IB6.x]


dolmat ©   (2007-03-22 12:35:00) 

Как изменить существующее поле
scet varchar(7)
на
scet varchar(7) not null


Desdechado   (2007-03-23 11:01:00) [1]

Johnmen ©   (23.03.07 09:45) [8]
Зависит от версии сервера. IB6 не поддерживает AFAIR прямую манипуляцию NULL/NOT NULL командами DDL.
IBExpert может выполнять операции по-разному в зависимости от настроек подключения (там указывается версия сервера).


Johnmen   (2007-03-23 09:45:00) [2]

Я хочу сказать, что делает по-другому. А именно, не модифицирует напрямую системные таблицы.


atruhin   (2007-03-22 17:59:00) [3]

> Т.е. ты хочешь сказать что IBExpert это делает по другому?

Нет. Также. С теми же проблемами. Просто раз автор задает подобный вопрос, значит он не знаком с этим инструментом.


Jan   (2007-03-22 16:48:00) [4]


> С того что если на это поле, после изменения, уже созданны
> (или попытаться создать)
> ораничения, констрэйны изменять данные, будут глюки.


и


> А вообще возьми IBExpert там все прекрасно делается.

Т.е. ты хочешь сказать что IBExpert это делает по другому?


atruhin   (2007-03-22 16:20:00) [5]

> с чего бы это?

С того что если на это поле, после изменения, уже созданны (или попытаться создать)
ораничения, констрэйны изменять данные, будут глюки.


Val   (2007-03-22 16:13:00) [6]

может, лучше not null constraint сделать? или поле пересоздать... не гут как-то без особой надобности в потроха лазить, имхо.


Jan   (2007-03-22 14:12:00) [7]


> После этого обязательно backup/restore.

с чего бы это?


atruhin   (2007-03-22 13:42:00) [8]

После этого обязательно backup/restore.
А вообще возьми IBExpert там все прекрасно делается.


Desdechado   (2007-03-22 12:44:00) [9]

UPDATE Export_ATS
 SET access_id = 0
 WHERE access_id IS NULL;
UPDATE rdb$relation_fields
 SET rdb$null_flag = 1
 WHERE rdb$field_name = 'ACCESS_ID' and rdb$relation_name = 'EXPORT_ATS';


Наверх

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