Oracle varchar2 минимальная длина - PullRequest
1 голос
/ 28 июля 2010

В Oracle db у нас есть таблица с типом столбца varchar2 (например, USERNAME). Как установить точную (или хотя бы минимальную) длину для этого столбца? Таким образом, все имена пользователей, вставленные в эту таблицу, могут содержать не более 10 (или не менее 10) символов.

Ответы [ 2 ]

10 голосов
/ 28 июля 2010

Вы можете использовать проверочное ограничение:

CREATE TABLE mytable (
  mycolumn varchar2(50),
  constraint strlen check (length(mycolumn) > 2)
)

или что-то подобное.Хотя я не уверен, насколько это эффективно.

0 голосов
/ 28 июля 2010

Или просто для удовольствия,

CREATE TABLE testit
( mycolumn VARCHAR2(20) CONSTRAINT min_length_chk CHECK (mycolumn LIKE '__%') );

Он менее явный, чем подход LENGTH (), хотя, поэтому я не уверен, что рекомендую его, кроме как для решения связанных проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...