powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / хитрое ограничение
3 сообщений из 3, страница 1 из 1
хитрое ограничение
    #38557768
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Возможно ли такое ограничение на поле таблицы сделать.

Поле2 должно быть NOT NULL если поле1 in(1,2,3). если условие не соблюдается, то ругаться исключением.
На уровне вьюхи понятно как сделать, а вот на уровне таблицы нет


Спасибо
...
Рейтинг: 0 / 0
хитрое ограничение
    #38557793
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триггером.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
хитрое ограничение
    #38557822
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SQL> recreate table tx(x int not null, y int, constraint y_chk check (x in(1,2,3) and y is not null) );
SQL> insert into tx(x,y) values(null, 100);
Statement failed, SQLSTATE = 23000
validation error for column X, value "*** null ***"
SQL> insert into tx(x,y) values(0, 100);
Statement failed, SQLSTATE = 23000
Operation violates CHECK constraint Y_CHK on view or table TX
-At trigger 'CHECK_11'
SQL> insert into tx(x,y) values(1, 100);
SQL> insert into tx(x,y) values(2, 100);
SQL> insert into tx(x,y) values(3, 100);
SQL> insert into tx(x,y) values(4, 100);
Statement failed, SQLSTATE = 23000
Operation violates CHECK constraint Y_CHK on view or table TX
-At trigger 'CHECK_11'
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / хитрое ограничение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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