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

Вниз

Значение по умолчанию.   Найти похожие ветки 

 
SHD ©   (2006-05-10 11:21) [0]

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

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

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

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


 
Desdechado ©   (2006-05-10 11:24) [1]

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


 
SHD ©   (2006-05-10 11:38) [2]

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


 
Ega23 ©   (2006-05-10 11:44) [3]

default


 
Desdechado ©   (2006-05-10 11:46) [4]

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

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


 
Sergey13 ©   (2006-05-10 11:53) [5]

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


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

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

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

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


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

Desdechado ©   (10.05.06 11:24) [1]


 
SHD ©   (2006-05-10 12:26) [8]

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

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

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


 
Desdechado ©   (2006-05-10 12:42) [9]

изменение таких вещей действительно выполняется через изменение домена (хотя тип можно поменять и легально
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:56) [10]

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

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


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

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


 
SHD ©   (2006-05-10 14:23) [12]

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

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

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


 
Mike Kouzmine ©   (2006-05-10 14:50) [13]

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

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


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

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


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

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

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


 
Desdechado ©   (2006-05-10 15:56) [16]

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



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

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

Наверх





Память: 0.48 MB
Время: 0.011 c
2-1150960522
Квэнди
2006-06-22 11:15
2006.07.09
Проблема с свойствами объекта


1-1148563500
yahaha
2006-05-25 17:25
2006.07.09
Курсор в WebBrowser


3-1147352502
wirg
2006-05-11 17:01
2006.07.09
Filter


15-1149845579
ALEXD31
2006-06-09 13:32
2006.07.09
Обновление Windows 98 до Windows 2000


15-1149787637
Тот же самый
2006-06-08 21:27
2006.07.09
Linux must die





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский