2016-02-10 5 views
-1

Я столкнулся с проблемой, связанной с добавлением ограничения на столбец таблицы в oracle. Столбец определяется символом типа данных (500 символов). Мне нужно установить ограничение, которое позволяет вставлять в столбец только цифры и значение N/A.Добавление ограничения в оракуле столбца

+0

Пожалуйста, измените вопрос с, что вы пробовали и вопрос, что вы столкнулись с – Noel

ответ

1

Из этой статьи переполнение стека статьи: Oracle 11g - Check constraint with RegEx вы можете видеть, что регулярное выражение работает с ограничениями проверки.

Регулярное выражение, которое поддерживает то, что вы хотите, будет:

^([0-9]+|N/A)$ 

^ в начале выражения означает начало строки/строки/текста; [0-9]+ цифры от 1 до x; | или оператор; N/A определенный текст; $ конец строки/строки/текста

+0

Спасибо ... Но это регулярное выражение позволяя мне вставлять и другие символы :( – smrita

+0

У меня проблема с тестированием прямо сейчас. Но я догадываюсь, что я пропустил границы от того места, где нужно найти строку. Я обновлю свой ответ. –

0

Вы можете попробовать так:

CHECK (column IN (REGEXP_LIKE(column, '^[[:digit:]]{9}$'), 'N/A') 
Смежные вопросы