2016-02-10 79 views
-1

我正面临向oracle的表中的列添加约束的问题- 该列使用数据类型char(500 char)定义。 我需要把限制,只允许插入数字和N/A值的列。在列中添加约束oracle

+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')