Проверьте ограничение длины не работает в Oracle11g sqlplus - PullRequest
0 голосов
/ 05 февраля 2019

Я пытался установить ограничение длины, чтобы оно не принимало строку, длина которой больше или меньше 5

Создание оператора таблицы:
create table exp(id char(10),name varchar(50));

Добавить оператор ограничения:
alter table exp add constraint exp1 check(length(id)=5);

Вставить оператор:
insert into exp(id,name) values('10001','Abhi');

Но всякий раз, когда я пытаюсь вставить данные, подобные написанным выше, они показывают

insert into exp(id,name) values('10001','Abhi')
*
ERROR at line 1:
ORA-02290: check constraint (VIT.EXP1) violated 


1 Ответ

0 голосов
/ 05 февраля 2019

Измените char (10) на varchar2 (10):

create table exp(id varchar2(10),name varchar(50)); 

Длина столбца char (10) всегда равна 10. Независимо от вашего оператора вставки.Вот почему вы получаете ошибку.

...