powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Установка поля в NOT NULL
7 сообщений из 7, страница 1 из 1
Установка поля в NOT NULL
    #38988972
Энди Таккер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При изменении флага null у существующего поля (через форму редактирования поля), эксперт формирует неправильные скрипты.

При установке-снятии флага null формируются
ALTER TABLE DOCUMENTS ALTER DOC_DATE NOT NULL;
или
ALTER TABLE DOCUMENTS ALTER DOC_DATE NULL;
a надо бы
ALTER TABLE DOCUMENTS ALTER DOC_DATE SET NOT NULL;
ALTER TABLE DOCUMENTS ALTER DOC_DATE DROP NOT NULL;

IBE 2015.6.6.1
FB 3.0.31892
...
Рейтинг: 0 / 0
Установка поля в NOT NULL
    #38988978
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Энди Таккер,

Первоначально IBE правильно работал, но потом в FB 3 решили поменять синтаксис, чтобы соответствовало стандарту.
...
Рейтинг: 0 / 0
Установка поля в NOT NULL
    #38989074
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисПервоначально IBE правильно работал, но потом в FB 3 решили поменять синтаксис, чтобы соответствовало стандарту.

Это в последних версиях тройки изменили? Или в тройке сразу новый синтаксис был?
...
Рейтинг: 0 / 0
Установка поля в NOT NULL
    #38989086
Энди Таккер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже недавно.
Вот тут Firebird-3.0.0_Beta2-DRAFT-ReleaseNotes.pdf описан такой синтаксис:

Код: plaintext
1.
2.
ALTER TABLE <table name> ALTER <field name> [NOT] NULL
ALTER DOMAIN <domain name> [NOT] NULL

а вот тут langref30.pdf уже новый

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
ALTER TABLE tablename
<operation> [, <operation>];
<operation> ::= {
ADD <col_def>
| ADD <tconstraint>
| DROP colname
| DROP CONSTRAINT constr_name
| ALTER [COLUMN] colname {
TO new_colname
| TYPE <datatype>
| POSITION new_col_position
| SET DEFAULT {literal | NULL | <context_var>}
| DROP DEFAULT
|  SET NOT NULL 
|  DROP NOT NULL 
}
| ALTER [COLUMN] gencolname [TYPE <datatype>]
{GENERATED ALWAYS AS | COMPUTED [BY]} (<col_expr>)
| ALTER [COLUMN] idencolname RESTART [ WITH startvalue ]
}
...
Рейтинг: 0 / 0
Установка поля в NOT NULL
    #38989128
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

в последних
...
Рейтинг: 0 / 0
Установка поля в NOT NULL
    #38989130
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Энди Таккер,

там ещё не успели поменять.
...
Рейтинг: 0 / 0
Установка поля в NOT NULL
    #38989138
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertЭто в последних версиях тройки изменили? Или в тройке сразу новый синтаксис был?

старый синтаксис тоже возник в тройке. До неё установка NOT NULL/NULL вообще не поддерживалась. Просто получилось так что сначала сделали один синтаксис, а потом глянули в стандарт и увидели что не соответствует, пришлось поменять.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Установка поля в NOT NULL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]