Я столкнулся с проблемой, связанной с добавлением ограничения на столбец таблицы в oracle. Столбец определяется символом типа данных (500 символов). Мне нужно установить ограничение, которое позволяет вставлять в столбец только цифры и значение N/A.Добавление ограничения в оракуле столбца
ответ
Из этой статьи переполнение стека статьи: Oracle 11g - Check constraint with RegEx вы можете видеть, что регулярное выражение работает с ограничениями проверки.
Регулярное выражение, которое поддерживает то, что вы хотите, будет:
^([0-9]+|N/A)$
^
в начале выражения означает начало строки/строки/текста; [0-9]+
цифры от 1 до x; |
или оператор; N/A
определенный текст; $
конец строки/строки/текста
Спасибо ... Но это регулярное выражение позволяя мне вставлять и другие символы :( – smrita
У меня проблема с тестированием прямо сейчас. Но я догадываюсь, что я пропустил границы от того места, где нужно найти строку. Я обновлю свой ответ. –
Вы можете попробовать так:
CHECK (column IN (REGEXP_LIKE(column, '^[[:digit:]]{9}$'), 'N/A')
Пожалуйста, измените вопрос с, что вы пробовали и вопрос, что вы столкнулись с – Noel