0

这ALTER TABLE是我在过程中发现的代码的范围

create type employee_type AS OBJECT 
    (empno number(4), 
    ename varchar2(40), 
    dept_ref REF department_type) 
    /
    create table employee of employee_type 
    (empno PRIMARY KEY) 
    /
    create type department_type AS OBJECT 
    (deptno number(2), 
    dname varchar2(20), 
    loc varchar(20)) 
    /
    create table employee of employee_type 
    (empno PRIMARY KEY) 
    /
    create table department of department_type 
    (deptno PRIMARY KEY) 
    /
    alter table employee 
    add (scope for (dept_ref) is department) 
    /

我不明白为什么我们需要改变员工表中添加范围为到部门表,我的意思是dept_ref已转交department_type已经和department表由department_type对象组成,那么add scope statment是做什么的?

回答

1

documentation描述的,目的是为了说dept_refemployee具有指,具体地说,涉及一种department,而不是任何其他表可能department_type类型。

参见REF柱:实例

dept列可以参考存储于存储在任何表的dept_t对象。如果你想限制只引用指向存储在departments表对象,那么你可以通过在dept列如下添加范围约束这样做......

(人民,很显然,爱来自员工和部门领域的示例)

+0

除非示例来自作业,在这种情况下,它总是COURSES和STUDENTS :) – APC