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

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

Значение по умолчанию. [D7, IB6.x]


SHD ©   (2006-05-10 11:21:00) 

Вопрос как к созданному полю добавить значение по умолчанию?

Пользуюсь я для управления БД прогой EMS Manager.

Так вот когда я создаю поле, то можно сразу задать значение по умолчанию.
А если поле уже создано то нельзя.

Пытался к созданному полю поставить галочку not null и задать поле по умолчанию. Сервак это сьедает, но по умолчанию всё равно не ставит значение.


Desdechado   (2006-05-10 15:56:00) [1]

> на данный момент считается лучшей
Дело твое.
Я использую то, что работает так, как мне нужно, а не то, что считается лучшим.
И не факт, что "лучшее" (и кто его решил, что оно лучшее?) делает всё и так, как мне того хочется.
И если я посоветовал, то это из своего опыта. А из твоего опыта вижу, что у тебя не работает.
Ну, делай выводы, если умеешь.


Mike Kouzmine   (2006-05-10 15:13:00) [2]

SHD ©   (10.05.06 14:58) [14] Просто сами поймите форум создан не для того что бы посылать на книжки, текстовики или проги.
Если человек знает он напишет, а если нет...

Это где написано? Ты не прав.


SHD   (2006-05-10 14:58:00) [3]

Извинияюсь. Просто сами поймите форум создан не для того что бы посылать на книжки, текстовики или проги.
 Если человек знает он напишет, а если нет...


Mike Kouzmine   (2006-05-10 14:50:00) [4]

SHD ©   (10.05.06 14:23) [12]
>> Desdechado ©   (10.05.06 13:00) [11]
Если ты не знаешь ответ просто промолчи.

Боюсь после этого спича тебе никто больше отвечать не будет


SHD   (2006-05-10 14:23:00) [5]

>> Desdechado ©   (10.05.06 13:00) [11]
Если ты не знаешь ответ просто промолчи.
Какая разница что я использую.
и вообще то SQL Manager 2005 for InterBase and Firebird на данный момент считается лучшей.

>> SHD ©   (10.05.06 11:21)
Пытался к созданному полю поставить галочку not null и задать поле по умолчанию. Сервак это сьедает, но по умолчанию всё равно не ставит значение.
Это он спрашивал для уже введённых данных сменить.

А вот для новых дефаулт так и не ставит.
Пока только добавив и удалив поле получилось :(


Desdechado   (2006-05-10 13:00:00) [6]

попробуй IBExpert, у него есть нормальное интерактивное средство для этих целей
причем рабочее


SHD   (2006-05-10 12:56:00) [7]

>>хотя тип можно поменять и легально
Тип то я менял, всё проходило. Но мне нужно просто поставить значение по умолчанию.

>>но после изменения домена (системных таблиц), надо переподключаться к БД
Пробывал, даже сервак перезапускал, не помогает.


Desdechado   (2006-05-10 12:42:00) [8]

изменение таких вещей действительно выполняется через изменение домена (хотя тип можно поменять и легально
ALTER TABLE table <operation> [, <operation> …];
<operation> = {ADD <col_def>
| ADD <tconstraint>
| ALTER [COLUMN] column_name <alt_col_clause>
| DROP col
| DROP CONSTRAINT constraint}
<alt_col_clause> = {TO new_col_name
| TYPE new_col_datatype
| POSITION new_col_position}

)
но после изменения домена (системных таблиц), надо переподключаться к БД


SHD   (2006-05-10 12:26:00) [9]

Никак не получется. Там написано что ежели нужно сменить тип поля или его кол-во символов или знач по умолчанию нужно менять домен.
Домен у этого поля называется 'RDB$104'

запускаю команду
ALTER DOMAIN RDB$104 SET DEFAULT 26

Команда проходит а ничего не меняется. :(


Desdechado   (2006-05-10 12:07:00) [10]

Desdechado ©   (10.05.06 11:24) [1]


SHD   (2006-05-10 11:56:00) [11]

Вот если новое поле добавлять то команда вот эта и она работает
ALTER TABLE POLES ADD POLES_FLD INTEGER DEFAULT 26;

А если поле уже было создано
ALTER TABLE POLES ADD POLES_FLD INTEGER;

То какую команду нужно дать что бы умолчанию задалось поле???


Sergey13   (2006-05-10 11:53:00) [12]

2[2] SHD ©   (10.05.06 11:38)
>Может домен использовать?
В ИБ ты его по любому используешь. Выбор стоит - подставленный системой автоматически или созданный сознательно программистом.


Desdechado   (2006-05-10 11:46:00) [13]

домен, имхо, имеет смысл только для случаев, когда данные имеют одинаковый физический смысл в разных таблицах

галку NOT NULL поставить после создания поля можно только в случае, если данных еще нет или поле в самом деле не пустое во всех записях
иначе получишь невосстановимый бэкап


Ega23   (2006-05-10 11:44:00) [14]

default


SHD   (2006-05-10 11:38:00) [15]

Может домен использовать?


Desdechado   (2006-05-10 11:24:00) [16]

ALTER TABLE читать в LangRef.pdf
брать с ibase.ru или www.ibphoenix.com


Наверх

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