スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)
(a) 列データの記述形式
各データ型に対する列データ・パラメタの記述形式(バイナリ形式)を次の表に示します。なお,この表ではビッグエンディアンで表記しています。Linuxの場合はリトルエンディアンになります。
表5-29 各データ型に対する列データ・パラメタの記述形式(バイナリ形式)
データ型・パラメタ型 |
列データ記述形式 |
数データ |
INTEGER,SMALLINT |
|
DECIMAL(m,n)
1≦m≦38
0≦n≦38
m≧n |
|
FLOAT,SMALLFLT |
|
文字データ,各国文字データ,混在文字データ |
CHARACTER(n),VARCHAR(n),MCHAR(n),MVARCHAR(n) |
|
NCHAR(n),NVARCHAR(n) |
|
日付データ |
DATE |
|
日間隔データ |
INTERVAL YEAR TO DAY |
|
時刻データ |
TIME |
|
時間隔データ |
INTERVAL HOUR TO SECOND |
|
時刻印データ |
TIMESTAMP(p) |
|
BINARYデータ,BINARY属性データ |
BINARY |
|
XML型のBINARY属性パラメタ |
|
LOBデータ,LOB属性データ |
BLOB |
|
- 注※
- -zオプションを指定した場合にだけ実データ長に0が入り,実データ部がない形式を長さ0のデータとして扱います。
(b) 入力パラメタの記述形式
入力パラメタの記述方法を次に示します。
- 抽象データ型に格納する値を生成するコンストラクタ関数の入力パラメタを,関数のパラメタ型と同じ構造で記述します。
- 入力パラメタの順序とコンストラクタ関数の引数の順序は同じにしてください。
- 格納先の列が抽象データ型の場合,コンストラクタ関数は抽象データ型と同じ名称の関数を使用します。引数が異なる同一名称のコンストラクタ関数が複数ある場合や,抽象データ型の名称とは異なるコンストラクタ関数を使用する場合は,使用する関数名をナル値・関数情報ファイルに指定してください。
- 入力パラメタが複数ある場合,パラメタ値とパラメタ値の間は,空白を入れないで詰めます。
- 磁気テープ装置の場合に,可変長ブロックモードで入力データを作成するときは,ブロック長を32キロバイト以下にしてください。
- 入力データの列順序と表定義の列順序は同じにしてください。
- 列データと列データの間は,空白を入れないで詰めます。可変長文字列の場合で定義長に実際のデータが満たない場合は,実長でデータを記述し,次のデータを詰めます。
- EasyMTを使用してLOB列がある表を作成する場合,LOB列構成基表の入力データファイルに記述するLOB入力ファイルの名称は,EasyMT内のファイル名称だけ指定してください。
- 入力データに次のデータがある場合,同期点指定のデータロードはお勧めできません。次のデータがあると,不正が検知されても,同期点までのデータが格納されてしまいます。
- 繰返し列
- 可変長データ(VARCHAR,NVARCHAR,MVARCHAR,BINARY,及びBLOB)
- 抽象データ型の引数が可変長データ
- バイナリ形式は,入力データを直接記述するフォーマットのため,デフォルト値を格納できません。デフォルト値を格納する場合は,入力データファイル作成時に直接デフォルト値を記述してください。
バイナリ形式のデータ記述例を次の図に示します。
図5-16 バイナリ形式のデータ記述例
- 注
- 入力データの上段はデータを,下段は格納される値を示します。
- それぞれのデータ型は,NCHAR(5),INTEGER,SMALLFLT,VARCHARの順です。
- 各国文字データはシフトJISコード,又はEUC中国語漢字コードです。
(a) -k vの場合
-kオプションにvを指定した場合,LOBデータの入力ファイル名とLOBパラメタのデータは,入力データファイルに直接記述します。
この方法は,-kオプションにfを指定した場合に比べて,LOB入力ファイルの入出力時間が削減できます。
- LOBデータ及びLOBパラメタは,行データ中の該当列に4バイトの長さ部を持ち,行データの直後にデータ部を持つ形式で指定します。指定順序は行データの列順です。
- LOBデータ又はLOBパラメタがナル値の場合は,長さ部に−1を指定します。ナル値・関数情報ファイル及び関数情報ファイルによるナル比較値は無視されます。データ部は指定しません。
- LOBデータ又はLOBパラメタが0バイトの場合は,長さ部に0を指定します。データ部は指定しません。
- BLOBを入力とする抽象データ型の列を一つ持つ表の場合
表定義:CREATE TABLE T1(C1 INTEGER,C2 SGMLTEXT,C3 DEC(7,0))
- BLOBを入力とする抽象データ型の列を二つ持つ表の場合
表定義:CREATE TABLE T2(C1 SGMLTEXT,C2 INTEGER,C3 SGMLTEXT)
- LOB列とBLOBを入力とする抽象データ型の列を持つ表の場合
表定義:CREATE TABLE T3(C1 INTEGER,C2 BLOB(100),C3 SGMLTEXT)
(b) -k dの場合
-k オプションにdを指定した場合,入力データファイルには,LOBデータ格納ファイル名称でなく,データそのものを記述します。
- LOBデータ,LOBパラメタデータは行データ中の該当列に4バイトの長さ部を保持し,行データの直後にデータ部を持つ形式で指定してください。
- 入力データファイルの指定順序は次に示す規則に従ってください。
[行データ] [LOBパラメタデータ] [LOBデータ]
1 2 3
[説明]
1. 長さ部は行データ中に列定義順で指定します。
2. LOBパラメタデータは,行データの直後に列定義順で指定します。
3. LOBデータは「2.」に続いて列定義順に指定します。
- LOBデータ,LOBパラメタデータがナル値の場合は,4バイトの長さ部に−1を指定してください。ナル値・関数情報ファイルによるナル比較値は無視します。なお,この場合データ部はありません。
- LOBデータ,LOBパラメタデータが0バイトの場合は,長さ部に0を指定してください。なお,この場合データ部はありません。
- LOB列を一つ持つ表の場合
表定義:CREATE TABLE T1(C1 BLOB(100),C2 INTEGER);
- LOB列を二つ持つ表の場合
表定義:CREATE TABLE T2(C1 BLOB(100),C2 INTEGER,C3 BLOB(100));
- LOB列を二つとLOBを入力とする抽象データ型の列を持つ表の場合
表定義:CREATE TABLE T3(C1 BLOB(100),C2 INTEGER,C3
SGMLTEXT,C4 BLOB(100));
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.