SQLコンソールでは、視覚的にタイプを作成できます。このドキュメントでは、SQLウィンドウを使用してタイプを作成する方法について説明します。
背景
データベースタイプオブジェクトは、タイプ名およびその属性、メソッド、その他の特性を指定するために使用されます。
タイプオブジェクトでは、3種類のタイプを作成できます:オブジェクト型、配列型、テーブル型です。
オブジェクト型:抽象データ型(Abstract Data Type、ADT)とは、データベースオブジェクト、データベースオブジェクト間の関係、およびデータベースオブジェクトの基本操作をカプセル化した表現方法です。
配列型:可変配列はネストされたテーブルと似ており、また一種の集合です。可変配列は、各オブジェクトが同じデータ型を持つオブジェクトの集合です。可変配列のサイズは作成時に決定されます。これにより、テーブルの列のデータ型を可変長の多次元配列として指定できます。配列の型は、任意の基本型、列挙型、複合型、またはユーザー定義型にすることができます。
テーブル型:独立したネストテーブル型で、作成した配列を直接テーブルの列に定義します。
タイプの作成には、以下の4つのステップが含まれます:
- タイプ名を指定します。
- タイプオブジェクトを選択します。
- ステートメントを編集します。
- タイプの作成を完了します。
このドキュメントでは、SQLウィンドウでオブジェクト型(ob_var)を作成する例を示します。このタイプには、varとvar1という2つのvarchar型のパラメータが含まれます。
説明
本文中で使用されているデータはすべて例です。実際の状況に応じてデータを置き換えることができます。
前提条件
現在のテナントのデータベースアカウントとパスワードを使用してSQLコンソールにログインしていること。
操作手順
ステップ1:タイプ名の指定
SQLコンソールにログインし、SQLウィンドウに入ったら、左側のデータベースリストで タイプ ラベルをクリックしてタイプリストを表示します。タイプリストの右上隅にある + をクリックしてタイプを作成し、必要なオブジェクトを作成します。

ステップ2:新規作成するタイプオブジェクトの選択
タイプ |
説明 |
例 |
|---|---|---|
| オブジェクト型 | 抽象データ型(ADT)。
説明サブプログラムを含むのはオブジェクト型のみです。 |
CREATE OR REPLACE TYPE ob_var AS OBJECT( var varchar2(10), var1 varchar(10) ); |
| 配列型 | 独立可変配列(varray)型。 | CREATE OR REPLACE TYPE test AS VARRAY(20) of varchar2(20); |
| テーブル型 | 独立ネストテーブル型。 | CREATE OR REPLACE TYPE test AS TABLE OF varchar2(100 BYTE); AS TABLE OF を使用して、配列 list<test>を作成します。 |
ステップ3:ステートメントの編集

上記の情報を指定した後、次へ ボタンをクリックし、ステートメント編集ページに移動します。この記事では、タイプを作成 のポップアップで指定された情報に基づいて対応する型定義ステートメントが生成されます。ユーザーは要件に応じてステートメントを補完する必要があります。ステートメントを補完したら、ページの右上隅にある 作成 ボタンをクリックして、型の作成を完了します。
ステップ4:新規作成の完了
作成 をクリックして新規作成を完了します。型は通常PLステートメントで使用され、キーワード INSERT を使用してユーザー定義の型を呼び出します。
例:
-- テーブルの作成
create table data_type (id number(10),name varchar2(50),age int,address varchar2(50),salary float);
-- テーブルデータの挿入
insert into data_type values(1,'baba',20,'hangzhou',3000.00);
-- 新規型の作成
create or replace type ob_var as object(
var varchar2(10),
var1 varchar(10)
);
delimiter /
-- ストアドプロシージャの新規作成
create or replace procedure p_datatype is
begin
declare
rec data_type%rowtype;
v_age rec.age%type;
var varchar2(50);
v_name var%type;
v_salary data_type.salary%type;
-- カスタム型
type salary is table of number index by varchar2(20);
arr salary;
v_arr arr%type;
CURSOR c2 IS SELECT name, age FROM data_type;
c_row c2%rowtype;
v_rec c_row%type;
ob ob_var;
v_obj ob%type;
begin
v_name := 'ali ';
v_age := 30;
v_salary := 2000;
dbms_output.put_line('参照項目:変数、レコード、テーブル列名:' || v_name || ' * ' || v_age || ' * ' || v_salary);
v_arr('James') := 78000;
dbms_output.put_line('参照項目:集合変数の名前:' || v_arr.FIRST);
open c2;
fetch c2 into v_rec;
dbms_output.put_line('参照項目:カーソル変数名:' || v_rec.name || ' * ' || v_rec.age);
close c2;
v_obj:=ob_var('test','object');
dbms_output.put_line('参照項目:オブジェクトインスタンスの名前:' || v_obj.var || ' * ' || v_obj.var1);
end;
end;
/
begin
p_datatype;
end;
/
左側のナビゲーションペインで、タイプリスト内のタイプ名を右クリックし、表示される管理操作リスト(表示、新規作成、ダウンロード、削除、および 更新)から、対象オブジェクトを簡単に管理および操作できます。タイプの機能については、SQLコンソールの機能キー一覧をご参照ください。

操作キー |
説明 |
|---|---|
| タイプの表示 | タイプ管理 ページに移動し、現在のタイプの基本情報、パラメータ、コードなどの詳細をすべて確認します。 |
| ダウンロード | タイプのSQLファイルをダウンロードします。 |
| 削除 | 現在のタイプを削除します。 |
| 更新 | 現在のタイプに対して管理操作を行った後、構造ツリーを更新して最新の情報を表示します。 |