CREATE TYPE(型定義)
機能
抽象データ型を定義します。
使用権限
形式
CREATE TYPE 〔認可識別子.〕データ型識別子 |
オペランド
サブタイプ句は,指定した抽象データ型を継承するサブタイプを定義する場合に指定します。スーパタイプとなる抽象データ型の認可識別子とデータ型識別子を指定してください。
サブタイプ句を指定すると,そのスーパタイプで定義されているすべての属性及びルーチンが,定義した抽象データ型に継承されます。
デフォルトコンストラクタオプションは,デフォルトコンストラクタ関数の隠蔽レベルを指定します。省略した場合,PRIVATEが仮定されます。
デフォルトコンストラクタ関数は,定義した抽象データ型の名称と同一の関数名を持つ関数が定義されることになります。デフォルトコンストラクタ関数には,引数がありません。この関数では,抽象データ型のそれぞれ各属性のナル値が設定された抽象データ型の値が戻されます。
属性定義では,抽象データ型を構成する属性を指定します。
ルーチン宣言では,データへの操作を指定するルーチンを書きます。隠蔽レベルについては,属性定義と同じです。
ルーチン本体には,関数又は手続きを書きます。関数及び手続きについては,それぞれ「3. CREATE 〔PUBLIC 〕FUNCTION(関数定義,パブリック関数定義)」及び「3. CREATE 〔PUBLIC 〕PROCEDURE(手続き定義,パブリック手続き定義)」を参照してください。
共通規則
表3-42 データ長一覧
分類 | データ型 | データ長 (単位:バイト) |
---|---|---|
数データ | INTEGER(4バイト2進形式の整数) | 4 |
SMALLINT(2バイト2進形式の整数) | 2 | |
[LARGE] DECIMAL〔m,n〕※ (パック10進形式の固定小数点数) | ↓m/2↓+1 | |
FLOAT(8バイトの浮動小数点数) | 8 | |
SMALLFLT(4バイトの浮動小数点数) | 4 | |
文字データ | CHARACTER〔n〕(nバイトの固定長文字列) | n |
VARCHAR〔n〕(nバイトの可変長文字列) | 35 | |
各国文字データ | NCHAR〔n〕(n文字の固定長各国文字列) | 2n |
NVARCHAR〔n〕(n文字の可変長各国文字列) | 35 | |
混在文字データ | MCHAR〔n〕(nバイトの固定長混在文字列) | n |
MVARCHAR〔n〕(nバイトの可変長混在文字列) | 35 | |
日付データ | DATE(日付) | 4 |
日間隔データ | INTERVAL YEAR TO DAY(日間隔) | 5 |
時刻データ | TIME(時刻) | 3 |
時間隔データ | INTERVAL HOUR TO SECOND(時間隔) | 4 |
時刻印データ | TIMESTAMP〔p〕(pけたの小数秒)(時刻印) | 7+p/2 |
長大データ | BLOB(nバイトのバイナリ列) | 35 |
抽象データ | CREATE TYPEで定義したユーザ定義型 | 35 |
留意事項