我需要创建一个域限制,但我不知道哪个更好,为什么,它们之间有什么区别?
例如,我尝试创建一个这样的域:
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')
答案 0 :(得分:0)
CREATE DOMAIN
不是Oracle中的有效DDL语句。因此,如果您的目标是让数据库强制执行限制,则需要约束。
在定义数据模型时,SQL Developer Data Modeler具有域的概念。我不知道有什么方法可以通过SQL而不是通过GUI创建这样的域。如果在创建数据模型时在SQL Developer Data Modeler中定义域,则当SQL Developer生成DDL时,如果域限制了有效值集,则应为您创建约束。