如何限制Teradata表中的字符串和日期值

时间:2015-07-23 19:17:02

标签: teradata

有没有办法对Teradata表字段施加限制,比如这个

列教育只能包含:High SchoolBSMSPhD等等。如果有人试图INSERT任何其他字符串,Referential Integrity机制将抛出异常

此外,有没有办法对DATE字段施加限制,以便新插入的日期必须>= CURRENT_DATE

谢谢专家

1 个答案:

答案 0 :(得分:1)

它与任何其他RDBMS相同(除了COMPRESS部分,Teradata只是为了节省磁盘空间):

datecol DATE CHECK(datecol >= CURRENT_DATE)

可能添加NOT NULL约束。

education VARCHAR(11) CHECK (education IN ('High School', 'BS', 'MS', 'PhD'))

在Teradata中,您应添加COMPRESS ('High School', 'BS', 'MS', 'PhD')以节省磁盘空间。

当然你也可以在表中插入四个值,添加一个主键,然后引用一个引用该列的外键...