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 и т. д.

И я бы рекомендовал не использовать кавычки " если у вас нет специальных символов в именах таблиц или столбцов...

Если вы собираетесь проверить на уровне таблицы, лучше всего проверить ограничение. потому что, если вы вставляете большее значение, тогда проверочное ограничение выдаст ошибку.

Другие вопросы по тегам