域限制SQL

时间:2013-10-13 19:23:26

标签: oracle oracle-sqldeveloper

我需要创建一个域限制,但我不知道哪个更好,为什么,它们之间有什么区别?

例如,我尝试创建一个这样的域:

ALTER TABLE PACIENT ADD CONSTRAINT pacient_sex_c0 
CHECK (SexCD='M' or SexCD='F')

或者最好创建像:

CREATE DOMAIN pacient_sex
CONSTRAINT sex
CHECK (SexCD='M' or SexCD='F')

1 个答案:

答案 0 :(得分:0)

CREATE DOMAIN不是Oracle中的有效DDL语句。因此,如果您的目标是让数据库强制执行限制,则需要约束。

在定义数据模型时,SQL Developer Data Modeler具有域的概念。我不知道有什么方法可以通过SQL而不是通过GUI创建这样的域。如果在创建数据模型时在SQL Developer Data Modeler中定义域,则当SQL Developer生成DDL时,如果域限制了有效值集,则应为您创建约束。