2

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

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

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')
4

1 回答 1

0

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

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

于 2013-10-13T19:37:16.967 回答