如何限制 Teradata table 中的字符串和日期值
How to restrict string and date values in a Teradata table
有没有办法对 Teradata table 字段施加限制,像这样
栏目教育只能包含:High School
、BS
、MS
、PhD
,不能包含任何其他内容。如果有人试图 INSERT
任何其他字符串,Referential Integrity
机制将抛出异常
此外,有没有办法对 DATE
字段施加限制,使得新插入的日期必须 >= CURRENT_DATE
?
谢谢专家
它与任何其他 RDBMS 相同(除了 COMPRESS 部分,它是 Teradata 仅用于节省磁盘 space):
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')
以节省磁盘 space。
当然,您也可以在 table 中插入四个值,添加一个主键,然后添加一个引用该列的外键...
有没有办法对 Teradata table 字段施加限制,像这样
栏目教育只能包含:High School
、BS
、MS
、PhD
,不能包含任何其他内容。如果有人试图 INSERT
任何其他字符串,Referential Integrity
机制将抛出异常
此外,有没有办法对 DATE
字段施加限制,使得新插入的日期必须 >= CURRENT_DATE
?
谢谢专家
它与任何其他 RDBMS 相同(除了 COMPRESS 部分,它是 Teradata 仅用于节省磁盘 space):
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')
以节省磁盘 space。
当然,您也可以在 table 中插入四个值,添加一个主键,然后添加一个引用该列的外键...