Sql добавление таблицы ограничения для проверки количества номеров
Я создаю таблицу в Oracle Oracle и пытаюсь добавить ограничение, чтобы числа, допустимые в столбце, были 1,2,3.
CREATE TABLE "TABLE_EXAMPLE"
(
.
.
"PROTOCOL" NUMBER (1,2,3),
....)
CONSTRAINT "CH1"
CHECK ("PROTOCOL" BETWEEN 1 AND 3),
Я делаю правильно или каким-то другим способом?
2 ответа
Решение
CREATE TABLE TABLE_EXAMPLE
(
...
PROTOCOL NUMBER(1) NOT NULL CONSTRAINT CH1 CHECK (PROTOCOL IN (1,2,3))
...
);
BETWEEN 1 AND 3
включает в себя 1,5, 1,6 и т. д.
И я бы рекомендовал не использовать кавычки "
если у вас нет специальных символов в именах таблиц или столбцов...
Если вы собираетесь проверить на уровне таблицы, лучше всего проверить ограничение. потому что, если вы вставляете большее значение, тогда проверочное ограничение выдаст ошибку.