另一个表的默认列值

时间:2011-03-14 01:56:29

标签: oracle oracle10g ddl

如何创建一个表,其中许多列具有来自另一个表的默认值?

例如,我有一个包含一些数据的表,然后是另一个保存前一个表的外键的表,以及可以保存与第一个表类似的数据的列。我希望能够从第一个表创建行的“快照”,其中所有日期都是默认输入。

感谢。

1 个答案:

答案 0 :(得分:2)

一个具体的例子可能有所帮助。 考虑具有一个FAMILY实体和子FAMILY_MEMBER实体的数据模型。某些属性(如出生日期)将特定于子实体。其他人,例如FAMILY_NAME,可以考虑对父母或子实体进行存储。

在某些情况下,您可能决定在FAMILY实体上存储一个FAMILY_NAME,但允许在FAMILY_MEMBER实体上进行“覆盖”。在这种情况下,我会将FAMILY_MEMBER上的值保留为NULL。然后我可能会有一个加入这两个实体的视图,并且有一个NVL(fm.FAMILY_NAME,f.FAMILY_NAME)派生值。