6.2 オブジェクト・ビューの定義
オブジェクト・ビューを使用すると、ユーザーに示すデータのみを表示できます。
オブジェクト・ビューを定義する手順は、次のとおりです。
オブジェクト型の属性が既存の表の列に正確に対応していないオブジェクト・ビューを更新するには、次の手順を実行する必要があることがあります。
アプリケーション・プログラムがオブジェクト・ビューのデータを更新するときに、Oracleに実行させるINSTEAD OFトリガー・プロシージャを作成します。「オブジェクト・ビューの操作」を参照してください。
                  
これらのステップの後、オブジェクト・ビューをオブジェクト表と同様に使用できます。
例6-1のSQL文は、各行がemployee_t型のオブジェクトであるオブジェクト・ビューを定義しています。
                  
例6-1 オブジェクト・ビューの作成
CREATE TABLE emp_table (
    empnum   NUMBER (5),
    ename    VARCHAR2 (20),
    salary   NUMBER (9,2),
    job      VARCHAR2 (20));
CREATE TYPE employee_t AS OBJECT (
    empno    NUMBER (5),
    ename    VARCHAR2 (20),
    salary   NUMBER (9,2),
    job      VARCHAR2 (20));
/
CREATE VIEW emp_view1 OF employee_t
    WITH OBJECT IDENTIFIER (empno) AS
        SELECT e.empnum, e.ename, e.salary, e.job
            FROM emp_table e
            WHERE job = 'Developer';
insert into emp_table values(1,'John',1000.00,'Architect');
insert into emp_table values(2,'Robert',900.00,'Developer');
insert into emp_table values(3,'James',2000.00,'Director');
select * from emp_view1;
    EMPNO ENAME                    SALARY JOB
---------- -------------------- ---------- --------------------
         2 Robert                      900 Developerリレーショナル表のempnum列のデータにアクセスするには、オブジェクト型のempno属性にアクセスします。
                  
親トピック: オブジェクト・モデルのリレーショナル・データへの適用