Как я могу максимальное значение и минимальное значение для числового типа данных при создании таблицы в Oracle - PullRequest
3 голосов
/ 29 февраля 2012

Я хочу установить число баллов равным максимум 100 и минимуму 0. Правильно ли я, просто указав номер 3, 3 цифры и это уже достаточно, если я не ищу число больше 100 с НЕТ десятичных знаков.

create table grades (
S varchar2(12),
C varchar2(10),
Score number(3),
Letter_Grade char(1)
Constraint PK_grades Primary Key (S)
)

Ответы [ 3 ]

5 голосов
/ 29 февраля 2012

Вам необходимо использовать проверочное ограничение:

create table myTable (
      a number check (a between 0 and 100),
      b number
    );
2 голосов
/ 29 февраля 2012

Хотите разрешить десятичные разряды? Если не указана точность тоже

Score number(3, 0),

Другое дело, что number(3) допустит диапазон от -999 до 999. Поэтому вам нужно добавить проверочное ограничение. Как то так

constraint CK_grades check ( score between 0 and 100 )
1 голос
/ 29 февраля 2012

Да, NUMBER (3) будет работать (при условии только целых чисел)

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

ALTER TABLE GRADES ADD CONSTRAINT GRADES_SCORE_CHECK CHECK (SCORE BETWEEN 0 AND 100);
...