2010-07-28 3 views
1

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

ответ

9

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

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

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

+0

Это будет отлично отлично :) –

+0

Я предполагаю, что вы хотели сказать .. замените «2» на минимальный размер .. да? – ShoeLace

+0

@ShoeLace да, вы должны – DilanG

-1

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

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

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

Смежные вопросы