在oracle sql中添加约束

时间:2016-02-10 10:04:22

标签: sql oracle11g ddl check-constraints

列的字段应为“cl”,“sl”或“el”。如何在oracel sql中添加这样的约束?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用CHECK constraint,如下所示:

CREATE TABLE myTable
(
   id int NOT NULL,
   col varchar(10)
   CONSTRAINT chk_col CHECK (col IN ('cl', 'sl', 'el' ))
)

或使用ALTER命令,如

alter table mytable 
       add col varchar(10) 
       constraint chk_col check(col IN ('cl', 'sl', 'el' ))

答案 1 :(得分:0)

如果该列仅包含'cl','sl'或'el',则这些字符串肯定具有含义。您可以简单地向表中添加一个检查约束,但这样就会使问题变得无法记录。

因此,您可能希望添加一个小型查找表:

leave  description
cl     Casual Leave
sl     Sick Leave 
el     Earned Leave

在现有表中,您只需将外键约束放入该查找表即可。