有没有办法对Teradata表字段施加限制,比如这个
列教育只能包含:High School
,BS
,MS
,PhD
等等。如果有人试图INSERT
任何其他字符串,Referential Integrity
机制将抛出异常
此外,有没有办法对DATE
字段施加限制,以便新插入的日期必须>= CURRENT_DATE
?
谢谢专家
答案 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')
以节省磁盘空间。
当然你也可以在表中插入四个值,添加一个主键,然后引用一个引用该列的外键...