目录:
在这里你有一个有趣的问题。在创建对象表时,可以确定对象表中每行的对象类型。在Schema Manager中查看表格时看到的属性实际上是对象类型的属性。 您可以修改对象表的几个特征,如下面的部分所示。但是,添加或删除对象表中的属性必须通过修改第二部分讨论的基础对象类型来执行。
<!修改对象表
对对象表的属性唯一的改变是
改变NULL
改成
- NOT NULL 添加默认值 添加约束,例如主键或检查约束 您可以像处理关系表一样处理这些更改。
- 修改对象类型
- 修改对象类型时,所有对象表和所有使用更改的对象类型的对象类型都会继承这些更改。
如果您不确定使用哪种对象类型来创建对象表,您可以从Schema Manager的表格属性窗口获得一些帮助。要查看此窗口,请按照下列步骤操作:
1。启动控制台,如本章前面所述。
2。单击您感兴趣的对象表。表格的属性窗口出现在右侧窗口中。在本例中,选择BAKERY模式中的BREAD_OBJ表。图1显示了属性窗口。请注意,如果您专注于该窗口,则可以制作定义对象表行的对象类型。
<! - 3 - >
图1:
对列定义进行所有必要的调整。
要修改对象类型,请使用SQL * Plus。您可以添加,更改或删除对象类型中的属性。以下是将属性添加到对象类型的语法: ALTER TYPE typename ADD ATTRIBUTE(attributename datatype)CASCADE;
用名称和数据类型替换
typename
,
attributename 和 数据类型 。 CASCADE 参数告诉Oracle9i对所有依赖对象和对象类型进行更改。 例如,要将名为 MANUFACTURER 的新属性添加到由
BAKERY 拥有的 INGREDIENT_TYPE 对象类型,请使用以下SQL命令: - 18_addattribute ALTER INGREDIENT_TYPE ADD ATTRIBUTE(MANUFACTURER VARCHAR2(40))
CASCADE;
修改属性使用与添加相同的语法,除了用
MODIFY
替换
ADD 。例如,要将 MANUFACTURER 属性修改为60个字符长,请使用以下命令: - 19_changeattribute
修改属性
ADD ATTRIBUTE(attributename)
CASCADE;用实际名称替换
typename
和
attributename
。
CASCADE
参数告诉Oracle9i对所有依赖对象和对象类型进行更改。例如,要从
BAKERY 拥有的 INGREDIENT_TYPE 对象类型中删除 MANUFACTURER 属性,请使用以下SQL命令: - 20_dropdattribute ALTER INGREDIENT_TYPE DROP ATTRIBUTE(MANUFACTURER) CASCADE;