powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ключевое слово VALUE при создании таблицы
4 сообщений из 4, страница 1 из 1
Ключевое слово VALUE при создании таблицы
    #39807244
FB 3.0, создаю таблицу

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> CREATE TABLE t_value(
CON> i INTEGER PRIMARY KEY,
CON> n INTEGER  DEFAULT 1 CONSTRAINT check_n_00 CHECK (VALUE > 0)
CON> );
Statement failed, SQLSTATE = 42000
unsuccessful metadata update
-CREATE TABLE T_VALUE failed
-Dynamic SQL Error
-SQL error code = -901
-Illegal use of keyword VALUE
SQL>

Почему? Ведь в langref30 написано

стр.116На уровне столбца выражение в предложении CHECK ссылается на входящее значение с
помощью ключевого слова VALUE , так же как предложение CHECK в определении домена:
Код: plaintext
1.
2.
3.
4.
...
CURRENCY CHAR(3) NOT NULL
CONSTRAINT CHECK_CURRENCY
CHECK (VALUE IN ('AUD','EUR','GBP','RUR','USD','YEN')),
...


Когда меняю "VALUE" на имя столбца, таблица нормально создается.
...
Рейтинг: 0 / 0
Ключевое слово VALUE при создании таблицы
    #39807259
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
старый пень,

никто не знает, что такое "уровень столбца". :)

Поэтому VALUE используем там, где имя столбца неизвестно, т.е., при описании ограничения домена. В остальных случаях используем имя столбца.

Если нужно удалить или добавить ограничение именно столбцу - ищем его домен (названия - в поле rdb$field_source таблички rdb$relation_fields) и с ним работаем.
...
Рейтинг: 0 / 0
Ключевое слово VALUE при создании таблицы
    #39807277
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
старый пень,

в документации ошибка, поправлю
...
Рейтинг: 0 / 0
Ключевое слово VALUE при создании таблицы
    #39807315
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- Доктор, когда я делаю вот так, мне становится больно.
- А Вы не делайте вот так.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ключевое слово VALUE при создании таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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