在oracle列中添加约束

时间:2016-02-10 07:40:07

标签: sql oracle ddl check-constraints

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

2 个答案:

答案 0 :(得分:1)

从这篇文章堆栈溢出文章: Oracle 11g - Check constraint with RegEx 你可以看到正则表达式适用于检查约束。

支持你想要的正则表达式是:

^([0-9]+|N/A)$
表达式开头的

^表示行/行/文本的开头; [0-9]+个数字1到x; |或运营商; N/A具体文字; $行尾/行/文字

答案 1 :(得分:0)

您可以尝试这样:

 CHECK (column IN (REGEXP_LIKE(column, '^[[:digit:]]{9}$'), 'N/A')