ODC は、視覚化された型の作成をサポートしています。このトピックでは、ODC を使用して型を作成する方法について説明します。
概要
データベース型オブジェクトは、型の名前、メソッド、およびその他の属性を指定します。
OceanBase Developer Center (ODC) は、オブジェクト型、配列型、およびテーブル型の 3 つの型をサポートしています。
オブジェクト型: データベースオブジェクト、データベースオブジェクト間の関係、およびデータベースオブジェクトに対する基本操作をカプセル化する式である抽象データ型 (ADT)。
配列型: ネストされたテーブルに似たコレクションである可変配列。可変配列はオブジェクトのコレクションであり、各オブジェクトは同じデータ型です。可変配列のサイズは、配列の作成時に決定されます。テーブルの列のデータ型は、可変長多次元配列にすることができます。配列の型は、プリミティブ型、列挙型、複合型、またはユーザー定義型のいずれかになります。
テーブル型: 独立したネストされたテーブル型。作成された配列は、テーブルの列に直接定義されます。

前の図に示すように、次の 4 つの手順で型を作成できます。
手順
次の例では、ob_var オブジェクト型が ODC コンソールで作成されます。この型には、2 つの VARCHAR 型パラメーター (var と var1) が含まれています。手順:
手順 1: 型の名前を指定する.
ODC コンソールにログインし、目的の接続名をクリックして、対応する接続管理ページに移動します。左側のナビゲーションウィンドウで 種類+作成 をクリックすると、型のリストが表示されます。型を作成するには、型リストの右上隅にある をクリックするか、上部のナビゲーションバーにある をクリックします。

手順 2: 型オブジェクトを選択する.
型 | 説明 | 例 |
オブジェクト型 | ADT。 説明 オブジェクト型のみがサブプログラムを含むことができます。 |
|
配列型 | 独立可変配列 (VARRAY) 型。 |
|
テーブル型 | 独立したネストされたテーブル型。 |
|
手順 3: SQL 文を編集する.

手順 2 で情報を指定した後、次へ: SQL ステートメントの検証種類を作成作成 をクリックして、文編集ページに移動します。このページには、 ダイアログボックスで指定した情報に基づいて生成された、対応する型定義文が表示されます。必要に応じて文を完成させる必要があります。文を完成させたら、右上隅にある をクリックして、型の作成を完了します。
さらに、編集ページのツールバーには、次のボタンがあります。
ボタン | 説明 |
フォーマット | このボタンをクリックすると、選択した SQL 文または現在の SQL ウィンドウ内のすべての SQL 文に、インデント、改行、キーワードのハイライトなどのフォーマットが適用されます。 |
検索と置換 | このボタンをクリックし、検索フィールドにテキストを入力して特定のコンテンツを検索し、置換フィールドにテキストを入力して見つかったコンテンツを置換します。 |
元に戻す | このボタンをクリックすると、最後の操作が元に戻されます。 |
やり直し | このボタンをクリックすると、[元に戻す] 操作が逆再生されます。 |
大文字と小文字の区別 | システムは、すべて大文字すべて小文字最初の文字を大文字にする、、 の 3 つの capitalization オプションをサポートしています。対応するオプションをクリックして、スクリプトで選択した文を目的の大文字小文字形式に変換します。 |
インデント | 選択した文にインデントを追加したり、インデントを削除したりできます。 |
コメント | コメントを追加するコメントを削除 をクリックして、選択した文をコメントに変換するか、 をクリックして、コメントを SQL 文に変換できます。 |
IN 値の変換 | A B などの形式を ('A','B') 形式に変換できます。 |
手順 4: 型の作成を完了する.
右上隅の [作成] をクリックして、型を作成します。ユーザー定義型を作成した後、INSERT キーワードを使用して、PL 文で呼び出すことができます。

タイプを管理するには、左側のナビゲーション ウィンドウでタイプ名を右クリックし、コンテキスト メニューから必要な操作を選択します。コンテキスト メニューには、[表示]、[作成]、[削除]、[ダウンロード]、[更新] のオプションがあります。詳細については、「タイプを管理する」をご参照ください。
例:
-- テーブルを作成します。
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;
/