在表中创建与特定模式匹配的列

时间:2016-01-09 13:15:03

标签: sql oracle create-table

您好我是pl / sql的初学者,我尝试创建一个列,该列应该匹配由五个字符串组成的模式,其中两个第一个字符是字母,另外三个是没有{{的数字1}}并且不要从零开始。 我已经尝试过alter table modify选项,但是我收到一个错误,我正在尝试做的不是NULL选项

ALTER TABLE

当然这不起作用,但是当列是字母和数字的组合时,我无法弄清楚如何设置约束。

我很感激你的帮助。

1 个答案:

答案 0 :(得分:4)

根据第一段中的描述,您需要的约束是检查约束。您可以使用正则表达式设置它:

alter table my_course add constraint chk_column
    check (regexp_like(column, '^[a-zA-Z]{2}[1-9][0-9][0-9]$'));

约束也可以包含在create table语句中。

请注意,如果列将是五个字符,则应将其声明为CHAR(5)

我不确定代码与问题的描述有什么关系。