この付録の内容は次のとおりです。
次に、各Oracleデータ型のコードを示します。
表A-1 Oracleデータ型コード
| Oracleデータ型 | コード |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
これらのコードは、ORACLE_BASE\ORACLE_HOME\oo4oディレクトリにあるoraconst.txtファイルにもリストされています。
例を実行するために他のスキーマが必要な場合があります。これらのスキーマについては、次の項に示します。
この項では、OraMetaDataのスキーマ定義を示します。
CREATE TYPE ORAMD_ADDRESS AS OBJECT ( no NUMBER,
street VARCHAR(60),
state CHAR(2),
zip CHAR(10),
MEMBER PROCEDURE ChangeStreetName(newstreet IN VARCHAR2)
);
OraLOBおよびBFILEの例では、次のスキーマ・オブジェクトが使用されています。スキーマを設定するには、使用中のデータベースでSQLスクリプトORAEXAMP.SQLを実行します。
CREATE TABLE part (
part_id NUMBER,
part_name VARCHAR2(20),
part_image BLOB,
part_desc CLOB,
part_collateral BFILE
);
Create Directory NewDirectoryName as 'C:\valid\path'
OraObjectおよびOraRefの例では、次のスキーマ・オブジェクトが使用されています。次の表のデータは、OO4Oのインストールにより提供されるORAEXAMP.SQLスクリプトを使用して挿入できます。
CREATE TYPE address AS OBJECT (
street VARCHAR2(200),
city VARCHAR2(200),
state CHAR(2),
zip VARCHAR2(20)
);
CREATE TYPE person as OBJECT(
name VARCHAR2(20),
age NUMBER,
addr ADDRESS);
CREATE TABLE person_tab of PERSON;
CREATE TABLE customers(
account NUMBER,
aperson REF PERSON);
OraCollectionメソッドの例では、次のスキーマが使用されています。
CREATE TYPE ENAMELIST AS VARRAY(20) OF VARCHAR2(30);
CREATE TABLE department (
dept_id NUMBER(2),
name VARCHAR2(15),
ENAMES ENAMELIST);
DROP TYPE COURSE;
CREATE TYPE Course AS OBJECT (
course_no NUMBER(4),
title VARCHAR2(35),
credits NUMBER(1));
CREATE TYPE CourseList AS TABLE OF Course;
CREATE TABLE division (
name VARCHAR2(20),
director VARCHAR2(20),
office VARCHAR2(20),
courses CourseList)
NESTED TABLE courses STORE AS courses_tab;